无法从另一个Python模块运行(在Eclipse中运行时)
我在使用64位的Fedora 15和Python 2.7。
当我在命令行中运行 python test.py
时,一切正常,但当我在另一个Python模块中运行 subprocess.call(["python","test.py"])
时,就出现了问题:
File "/usr/lib64/python2.7/site.py", line 557, in <module>
main()
File "/usr/lib64/python2.7/site.py", line 539, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib64/python2.7/site.py", line 268, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib64/python2.7/site.py", line 243, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib64/python2.7/site.py", line 233, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/lib64/python2.7/sysconfig.py", line 535, in get_config_var
return get_config_vars().get(name)
File "/usr/lib64/python2.7/sysconfig.py", line 434, in get_config_vars
_init_posix(_CONFIG_VARS)
File "/usr/lib64/python2.7/sysconfig.py", line 287, in _init_posix
raise IOError(msg)
IOError: invalid Python installation: unable to open /usr/local/lib64/python2.7/config/Makefile (No such file or directory)
我该怎么解决这个问题呢?
更新:当我从Eclipse运行脚本时,出现了这个错误信息。
- 当我从命令行运行test.py时 - 一切正常
- 当我从命令行运行包含
subprocess.call(["python","test.py"])
的脚本时 - 也正常 - 但当我从Eclipse运行包含
subprocess.call(["python","test.py"])
的脚本时 - 就失败了
1 个回答
0
我猜你是在用像pydev这样的工具进行开发。
如果你查看一下“运行配置”中的“解释器”选项卡,你应该能看到Python的路径(还有“查看结果命令行...”的选项)和用于命令的二进制文件。pydev会修改PYTHONPATH(这和你在命令行中看到的不同)。
我建议你可以看看里面的内容(或者试着用和pydev中相同的PYTHONPATH来运行命令行,看看是否会出现相同的错误)。
希望这对你有帮助。