2016-10-24 46 views
0

我想在我的Windows機器上使用os.system或subprocess從Python運行可執行文件,但我有一個奇怪的問題。從Python調用可執行文件Win32 IDLE工作,但從Windows控制檯相同Python會話不會

的使用os.system /子調用工作正常:從IDLE 32位的Python控制檯,

,但是卻無法從工作:如果我運行任何的Python會話 1)CMD(32或64) 2)如果我使用Spyder的任何Python版本。 3)PyCharm與任何Python版本;

,我得到這些錯誤:

1. Run time error

2. An error window that appears immediately after I click OK on the first

我花了很多時間在這,但我無法弄清楚爲什麼會這樣。爲什麼不用子進程或os.system在不同的Python控制檯上工作是一樣的?

本申請的依賴關係是: GDAL 201(MSVC 2013)爲32位的Windows PC, GDAL 201(MSVC 2013贏64),用於64位Windows PC, GDAL 2.1.0用於Python 2.7, 微軟MPI V7.1, 微軟的Visual C++ 2015年可再發行組件包(x86), 微軟的Visual C++ 2015年可再發行組件包(x64)的

的sys.path - Python2.7的(Win32)IDLE

['','C:\ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ ArcGIS \ Python 2.7', 'C:\ Python27 \ ArcGIS10.2 \ Lib \ idlelib', 'C:\ Users \ svimal \ Desktop \ Python', 'C:\ WINDOWS \ system32 \ python27.zip', 'C:\ Python27 \ ArcGIS10.2 \ DLLs', 'C:\ Python27 \ ArcGIS10.2 \ lib', ' C:\ Python27 \ ArcGIS10.2 \ lib \ plat-win', 'C:\ Python27 \ ArcGIS10.2 \ lib \ lib-tk', 'C:\ Python27 \ ArcGIS10.2', 'C: \ Python \ ArcGIS10.2 \ lib \ site-packages', 'C:\ Program Files(x86)\ ArcGIS \ Desktop10.2 \ bin', 'C:\ Program Files(x86)\ ArcGIS \ Desktop10.2 \ arcpy', 'C:\ Program Files(x86)\ ArcGIS \ Desktop10.2 \ ArcToolbox \ Scripts']

從Windows CMD

的sys.path的Python控制檯

[ '','C:\用戶\ svimal \桌面\ Python的, 「C:\ WinPython-64-2.7.9.5 \蟒蛇-2.7.9.amd64 \ python27.zip', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ DLLs', 'C:\ WinPython-64bit-2.7.9.5 \ python -2.7.9.amd64 \ lib', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ plat-win', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ lib-tk', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64', 'C:\ WinPython-64bit-2.7.9.5 \蟒蛇,2.7.9.amd64 \ lib \ site-packages', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ FontTools', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ win32', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9。amd64 \ lib \ site-packages \ win32 \ lib', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ Pythonwin', 'C:\ WinPython- 64-2.7.9.5 \ python的-2.7.9.amd64 \ LIB \站點包\ setuptools的-27.2.0-py2.7.egg']

的sys.path - PyCharm

['C:\ Program Files(x86)\ JetBrains \ PyCharm Community Edition 2016.2.3 \ helpers \ pydev', 'C:\ Users \ svimal \ Desktop \ Python', 'C:\ Program Files(x86) JetBrains \ PyCharm Community Edition 2016.2.3 \ helpers \ pydev', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ python27.zip', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ DLLs', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ plat-win', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9。 amd64 \ lib \ lib-tk', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9。 amd64 \ lib \ site-packages', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ FontTools', 'C:\ WinPython-64bit-2.7。 9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ win32', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ win32 \ lib' , 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ Pythonwin', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ setuptools-27.2.0-py2.7.egg', 'C:\ WinPython-64bit-2.7 .9.5 \蟒蛇,2.7.9.amd64 \ LIB \站點包\ IPython的\分機, 'C:\用戶\ svimal \桌面\工作\ EU_Floods']

的sys.path - Spyder的

[ '','C:\用戶\ svimal \桌面\ Python的, 'C:\ WinPython-64-2.7.9.5 \蟒-2.7.9.amd64 \ python27.zip', ' C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ DLLs', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ plat-win', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ lib-tk', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ FontTools', 'C:\ WinPython-64bit-2.7.9.5 \ python -2.7.9.amd64 \ lib \ site-packages \ win32', 'C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ win32 \ lib','C :\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site-packages \ Pythonwin','C:\ WinPython-64bit-2.7.9.5 \ python-2.7.9.amd64 \ lib \ site -packages \ setuptools-27.2.0-py2.7.egg']

+0

檢查過程本身中'sys.path'。並且完全必須研究PyCharm和IDLE之間的差異。添加'shell = True'是子流程可能會有所幫助。 – pylover

+0

請在您的帖子中加入「您嘗試過的內容」。 – pylover

+0

我已經添加了帖子中提到的不同Python控制檯的sys.path。 我使用的確切命令是os.system(「path \ executable.exe」) – solonome

回答

0

你或許可以在使用「s CRIPT \ make_winpython_fix.bat」,但winpython-2.7.9.5沒有這個選項,(即來到2015年10月8日)

https://github.com/stonebig/winpython/commit/1080831930a1dedaf6a0c3019e7150b46a138357

+0

如何使用winpython_fix.bat?我重新安裝了最新版本的winpython,現在命令行python會話似乎按預期工作。但Spyder仍然在拋出運行時錯誤。我還沒有檢查PyCharm。 – solonome

+0

你雙擊腳本「make_winpython_fix.bat」 – stonebig

+0

是否做到了。不解決問題。但是,我將新版WinpPython(WinPython-64bit-2.7.12)的scripts文件夾中的make_winpython_fix.bat文件複製到我的計算機中已安裝版本(2.7.9)中的同一文件夾中。我可以嘗試安裝新版本並再次運行make_winpython_fix.bat。 – solonome

相關問題