为什么pycharm使用不同的python时os.system('python main.py')
我的环境是Ubuntu 14,Python 2.7。当我直接运行一个程序并使用函数os.system()时,它使用不同的python解释器。我的代码如下:为什么pycharm使用不同的python时os.system('python main.py')
# script.py
import tensorflow as tf
import os
print tf.__version__
print tf.__path__
command = 'python main.py'
os.system(command)
# main.py
import tensorflow as tf
print tf.__version__
print tf.__path__
当我运行scripy.py
,我
1.2.1
['/home/Monday/Applications/anaconda2/lib/python2.7/site-packages/tensorflow']
0.12.1
['/usr/local/lib/python2.7/dist-packages/tensorflow']
当我运行main.py,我
1.2.1
['/home/Monday/Applications/anaconda2/lib/python2.7/site-packages/tensorflow']
我已经把我的解释如下:
Applications/anaconda2/lib/python2.7
PyCharm运行的Python在/home/Monday/Applications/anaconda2
但是当你做os.system()
运行任何Python是在PATH
环境变量。为了解决这个问题,你可以改变你的PyCharm运行设置来设置PATH环境变量来首先放置Anaconda Python。
但更好的是,您应该不要从Python调用Python。将main.py
更改为可导入的模块,而不是执行的“主”脚本。然后它会很简单:只要import main
(或其他所谓的),并调用它的功能。这是一个更合适的设计,而且效率更高。
谢谢。你能告诉我如何更改'路径环境变量'? – FreeTree0517
@ FreeTree0517:https://stackoverflow.com/questions/8732119/pycharm-path-on-os-x –
你是如何配置它的? –
对不起,'配置'是什么意思? – FreeTree0517