我試圖在Windows 8 x64下運行rdiff-backup,它是用python編寫的,顯然使用py2exe創建Windows可執行文件。它寫在他們的網站上,我需要安裝Visual C++ 2008 redistributable(x86和x64)。64位Windows上的C: Windows System32中的py2exe
現在,從任何目錄運行rdiff-backup.exe -V
時,它會給出正確的輸出(使用的版本):rdiff-backup 1.2.8
。我想與JBackpack這是一個基於Java的GUi一起使用它,並且需要rdiff-backup.exe
出現在C:\Windows\System32
目錄中,所以我將它複製到那裏,但是從該目錄運行它會引發以下錯誤。
C:\Windows\System32>rdiff-backup.exe -V
Traceback (most recent call last):
File "C:\Python26\lib\site-packages\py2exe\boot_common.py", line 92, in <module>
ImportError: No module named linecache
Traceback (most recent call last):
File "<install zipextimporter>", line 1, in <module>
ImportError: No module named zipextimporter
Traceback (most recent call last):
File "rdiff-backup", line 20, in <module>
ImportError: No module named rdiff_backup.Main
什麼打動我的是,它是從不同的dirctory(不幸的是一個無法改變其在JBackpack路徑)運行。
我也下載了在他們和rdiff-backup的網站上提供的p2exe的dll-package,但是這也沒有幫助。那麼,爲什麼它不在System32
目錄中工作,是否有解決方法?
我懷疑'rdiff-backup.exe'可能需要進入'C:\ Windows \ SysWOW64' – Steve
您懷疑是否正確,它在放置時正在工作。我正準備接受你的答案,不幸的是你刪除了它:-)把它放回去,我會接受它。另外,我在[WOW64](http://en.wikipedia.org/wiki/WoW64)上找到了維基百科文章,現在這一切都很有意義。 – mincos
我不確定自己是否正確,所以認爲它可能會更好。我已經取消了答案,並添加了更多的信息,如果其他人有同樣的問題。 – Steve