python script.py
또는 python3 script.py
을 사용하여 파이썬 코드를 실행하고 있습니다. (첫 번째는 2.7을 기반으로하고 두 번째 것은 3.4를 기반으로합니다.) 그러나 최근에는 계산 비용 측면에서 상당히 까다로운 코드 작업을하고 있습니다. 파이썬 2.7과 3.4의 두 버전 모두와 호환되는 다른 루틴을 많이 사용하는 내 코드를 빠르게하기 위해 파이썬 전문가는 아닙니다. 코드 안에있는 내 함수의 .hdf5
입력 파일이 1 Mbi의 순서이면 코드가 실행 중이고 천천히 결과를 생성합니다. 함수의 .hdf5
입력 파일 1 GBI의 순서에 때, 코드는 거의 절대 끝까지 진행하지 않고 나는 "MemoryError의 :"로 끝나는하고이 웹 사이트에 몇 가지 검색을 수행 한 후pypy가 왜 파이썬 2.7/3.4 모듈과 패키지를 인식하지 못합니까?
Traceback (most recent call last):
File "myscript.py", line 29, in <module>
gizmo.analysis.Image.plot_image(part, 'gas', 'mass.hydrogen.neutral', 'histogram', [0,1],[0,1,2], distance_max, distance_bin_width_Gas, distance_bin_number, part_indices=part_indices, write_plot=write_plot, plot_directory=plot_directory, background_color=background_color, use_column_units=True)
File "/home/username/Desktop/Projects/PaperMaterials/DM_Dominated_Objects/NewFolder2/covering_fractions/Simulations/gizmo/gizmo_analysis.py", line 817, in plot_image
weights = part[spec_name].prop(weight_prop_name, part_indices)
File "/home/username/Desktop/Projects/PaperMaterials/DM_Dominated_Objects/NewFolder2/covering_fractions/Simulations/gizmo/gizmo_io.py", line 145, in prop
self.prop(property_name.replace('mass.', 'massfraction.'), indices))
File "/home/username/Desktop/Projects/PaperMaterials/DM_Dominated_Objects/NewFolder2/covering_fractions/Simulations/gizmo/gizmo_io.py", line 157, in prop
values = (1 - self.prop('massfraction', indices)[:, 0] -
File "/home/username/Desktop/Projects/PaperMaterials/DM_Dominated_Objects/NewFolder2/covering_fractions/Simulations/gizmo/gizmo_io.py", line 65, in prop
return self[property_name][indices]
MemoryError
, 나는 그들이 파이썬을 사용하여 파이썬 코드를 실행할 수 있다는 것을 알아 차렸다. 저장소에 pypy 2.4 버전이있는 Fedora 21 (32 비트) OS를 사용하고 있으므로이 pypy 버전을 성공적으로 설치할 수있었습니다. 내가 명령 줄 대신에 위에서 언급 한 것들의 pypy myscript.py
를 사용하여 내 코드를 실행하려고 할 때, 나는 오류 메시지와 함께 왼쪽 오전 :
File "app_main.py", line 75, in run_toplevel File "myscript.py", line 1, in import numpy as np ImportError: No module named numpy
그것은이를 포함한 모든 파이썬 모듈 및 패키지를 인식하지 않는 pypy 보인다 특히 하나.
Fedora 21 Linux 배포판을 고수하고 모든 파이썬 모듈과 패키지를 pypy가 더 빨리 코드로 인식 할 수 있다는 점을 고려할 때 나에게 가장 좋은 제안은 무엇일까요?
내가 게시 할 수있는 내용은 myscript.py
이지만 다른 루틴을 많이 사용한다는 사실에 도움이 될지 확실하지 않습니다.
단기간에 .hdf5 파일의 모든 내용을 읽지 않아도 (최소 입력 데이터 기능에 따라) 내 코드를 수정할 수 있었기 때문에 32 비트 운영 체제가 메모리를 천천히 관리 할 수있었습니다 그러나 최종 결과에서 정밀도의 손실없이. 그러나 필자는 장기적으로 64 비트 OS로 옮겨야했지만 그 문제는 더 이상 발생하지 않았습니다. – Allan
당신이 제기 한 정확한 질문에 답을 찾지 못했음을 알았습니다. Python 2.7 용으로 설치 한 것과 같이 Python 용으로 모든 패키지를 설치해야합니다. "pypy -m ensurepip"을 사용하고 나서 "pypy -m pip install NAME"을 사용하여 배포판 대신 Python의 자체 패키징 시스템을 사용하십시오. 왜냐하면 후자의 경우 pypy 용 모듈이 많지 않기 때문입니다. –