2012-06-06 67 views
1

我無法將工作的Windows Python應用程序移植到Linux。我遇到了一些問題,因爲我沒有編寫代碼,而只是學習Python。我無法解決它一直在拋出的問題。因此,這裏是一個錯誤的類型,現在我堅持如何將Python應用程序移植到在Windows中正常工作的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,但實際上我目前正在Ubuntu中執行此代碼。爲什麼會回溯引用Windows庫

2)困擾我的另一件事是它說有一個IOError.But當我嘗試添加拒絕的權限時,它給了我一個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我嘗試通過在我的shell腳本中包含chmod + x來添加權限,但是我遇到了chmod:更改'/myPath/XFiles.bin.addr_patched'的權限:不允許操作 – ExceptionHandler

回答

2

在你的錯誤信息中混合使用Windows和Unix風格的路徑使我認爲你可能有一些文件名是硬編碼或手動使用os特定的路徑分隔符('\'或'/')。如果您可以計算出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

實際上這是一個很奇怪的問題,因爲它看起來好像Python腳本是*找到*那條路徑。就好像他實際上在Python的PATH中有一個名爲'C:\ softs \ Python \ Lib \ shutil.py'的文件。請注意,這是一個沒有目錄的文件名。 – cha0site

+0

@istruble我同意cha0site,因爲如果有路徑問題,那麼它會說找不到等,但它實際上是試圖找到文件 – ExceptionHandler

+0

他是否在Wine下運行他的Windows Python程序? –

相關問題