2012-06-06 2 views
1

Linux에서 작동하는 Windows Python 응용 프로그램을 이식하는 데 문제가 있습니다. 코드를 작성하지 않고 Python을 배우기 때문에 몇 가지 문제가 있습니다. 나는 계속해서 문제를 해결하는 데 어려움을 겪고 있습니다. 편집 그래서 여기 지금 내가 그것을 해결하는 방법에 대한 포인터가 훨씬 Windows에서 잘 작동하는 Python 응용 프로그램을 Linux로 이식하는 방법

을 이해할 수있을 것이다

Traceback (most recent call last): 
File "alpha_beta", line 237, in <module> 
main() 
File "alpha_beta", line 185, in main 
ABCCmd() 
File "alpha_beta.py", line 74, in ABCCmd 

File "C:\softs\Python\Lib\shutil.py", line 80, in copy 
File "C:\softs\Python\Lib\shutil.py", line 47, in copyfile 
IOError: [Errno 13] Permission denied: '/myPath/XFiles.bin.addr_patched 

에 붙어 오류의 일종입니다 : 내가 의해

1) 나는 무엇을 의미 붙어있어, 오류의 추적은 C : \ softs \ Python \ Lib에 있지만 사실은 현재 우분투에서이 코드를 실행하고 있습니다. 왜 윈도우 라이브러리에 대한 추적 참조

2) 나를 괴롭히는 또 다른 문제는 IOError가 있다고 말합니다.하지만 거부 된 것에 대한 권한을 추가하려고하면 내게 chmod가됩니다./myPath/xFiles.bin.addr_patched ': 작업이 허용되지 않습니다. 편집 2 :

나는 매우 유용하지 않다고 생각하여 모듈을 주석 처리했습니다. 이후 어쨌든 포팅 문제를 논의 중이므로이 문제는 동일하고 수정 사항은 비슷해야한다고 생각하기 때문에이 추가 문제를 제기 할 수 있다고 생각했습니다. 이상한 래퍼에 있었다 : 파이썬 코드에서 #pdb 모듈을 포함하여, 나는이

'': None, '/usr/lib/python2.6/plat-linux2': None, '/usr/lib/python2.6/': None 
'/usr/lib/pymodules/python2.6/gtk-2.0': None, '/usr/lib/python2.6/lib-tk': None, 
'/usr/lib/python2.6/lib-old': <imp.NullImporter object at 0x7f1269048070>, '/usr/ 
/python2.6/dist-packages/gtk-2.0': None, '/usr/lib/python2.6/dist-packages/PIL': None, 
'/usr/local/lib/python2.6/dist-packages': None, '/usr/lib/python2.6/dist-packages': 
None 

* 해결처럼 나는 importer_Cache 쳐다 보면서 보이는

traceback (most recent call last): 
File "alpha_beta", line 6, in <module> 
import pdb 
File "C:\softs\Python\Lib\pdb.py", line 14, in <module> 
File "C:\softs\Python\Lib\pprint.py", line 39, in <module> 
ImportError: No module named cStringIO 

다음과 같은 오류가 파이썬 스크립트를 다른 위치에서 실행시키는 스크립트. 그래도 어떻게 아직도 이해가 안돼. Python myScript.py로 직접 실행하도록 스크립트를 수정 한 후 잘 실행됩니다. 어쨌든 도움을 주셔서 감사합니다.

+2

해당 파일에 대한 쓰기 권한이없는 것 같습니다. – cha0site

+0

"나 달라 붙었 어!"보다 잘 할 수 있니? 추적에 대해 이해하지 못하는 점은 무엇입니까? –

+0

@ cha0site 셸 스크립트에서 chmod + x를 포함하여 사용 권한을 추가하려고 시도했지만 chmod : \ myPath/XFiles.bin.addr_patched의 사용 권한 변경 : 실행이 허용되지 않음 – ExceptionHandler

답변

2

오류 메시지에 Windows 스타일과 유닉스 스타일의 경로가 혼합되어있어 하드 코드 된 파일 이름이 있거나 특정 경로 구분 기호 ('\'또는 '/'). gOptions.inputTfgWorkingTfFile 값이 할당 된 위치를 파악할 수있는 경우 os.path.join을 사용하여 정확한 경로를 사용할 수 있습니다.

from os.path import join 

file = join('A', 'B') 
# 'A/B' on unix systems 
# 'A\B' on windows systems 
+2

사실 파이썬 스크립트가 * 경로를 찾는 것처럼 보이기 때문에 이것은 더 이상한 것이 아닙니다. 파이썬의 PATH 어딘가에'C : \ softs \ Python \ Lib \ shutil.py'라는 파일이있는 것 같습니다. 이것은 디렉토리가없는 단일 파일 이름입니다. – cha0site

+0

@istruble 경로 문제가 있었지만 발견되지 않는다고 말하기 때문에 cha0site에 동의합니다. 그러나 실제로 파일을 찾으려고합니다. – ExceptionHandler

+0

Wine에서 자신의 Windows Python 프로그램을 실행하고 있습니까? –

관련 문제