2012-06-06 2 views
1

У меня возникли проблемы с переносом рабочего приложения Windows Python в Linux. У меня проблемы, потому что я не писал код и просто изучал Python. У меня возникают проблемы с устранением проблем, которые он продолжает бросать. Так вот такая ошибка, что прямо сейчас я застрял сКак перенести приложение Python в Linux, которое отлично работает в Windows

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 

Любые указатели о том, как исправить это будет оценено

Edit:

1) То, что я имею в виду, я stuck is, traceback ошибки переходит в C: \ softs \ Python \ Lib, но на самом деле я выполняю этот код в Ubuntu. Почему обратная ссылка на библиотеку окон

2) Другое, что меня беспокоит, это говорит о том, что есть IOError. Но когда я пытаюсь добавить разрешение для отклоненного, он дает мне chmod: изменение разрешений/myPath/xFiles.bin.addr_patched ': операция не разрешена Редактировать 2:

Я прокомментировал модуль, потому что думал, что это не очень полезно. Поскольку сейчас я все равно обсуждаю проблемы с переносом, я думал, что смогу также выявить эту дополнительную проблему, так как я думаю, что проблема такая же, и исправление должно быть аналогичным. В том числе модуль #pdb в коде Python, я получаю следующее сообщение об ошибке

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 

Я посмотрел на importer_Cache и выглядит следующим образом

'': 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 

* решаемые: Был странный обертка в скрипт, который запускал скрипт python из другого места. Однако пока не понимаю. После изменения моего скрипта, чтобы просто выполнить его как python myScript.py, он работает нормально. Все равно спасибо за помощь

+2

похоже, у вас нет полномочий для доступа к этому файлу? – cha0site

+0

Можете ли вы сделать лучше, чем «Я застрял!»? Что вы не понимаете в отношении трассировки? –

+0

@ cha0site Я попытался добавить разрешения, включив chmod + x в свой сценарий оболочки, но я столкнулся с chmod: изменение разрешений '/myPath/XFiles.bin.addr_patched ': операция не разрешена – ExceptionHandler

ответ

2

Смесь путей стиля Windows и Unix в сообщениях об ошибках заставляет меня думать, что у вас могут быть некоторые имена файлов, жестко закодированные или созданные вручную с использованием специальных разделителей путей ('\' или '/'). Если вы можете определить, где назначены значения и gWorkingTfFile, вы должны изучить использование os.path.join, чтобы помочь вам использовать правильные пути.

from os.path import join 

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

На самом деле это странно, потому что кажется, что скрипт Python * находит * этот путь. Как будто у него на самом деле есть файл с именем 'C: \ softs \ Python \ Lib \ shutil.py' где-то в PATH Python. Обратите внимание, что это одно имя файла без каталогов. – cha0site

+0

@istruble Я согласен с cha0site, потому что если возникла проблема с путём, то он скажет, что не найден и т. Д. Но на самом деле пытается найти файл – ExceptionHandler

+0

. Он работает под управлением своей программы Windows Python под Wine? –