2017-08-06 152 views
0

我的環境是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 
+0

你是如何配置它的? –

+0

對不起,'配置'是什麼意思? – FreeTree0517

回答

0

PyCharm運行的Python在/home/Monday/Applications/anaconda2但是當你做os.system()運行任何Python是在PATH環境變量。爲了解決這個問題,你可以改變你的PyCharm運行設置來設置PATH環境變量來首先放置Anaconda Python。

但更好的是,您應該不要從Python調用Python。將main.py更改爲可導入的模塊,而不是執行的「主」腳本。然後它會很簡單:只要import main(或其他所謂的),並調用它的功能。這是一個更合適的設計,而且效率更高。

+0

謝謝。你能告訴我如何更改'路徑環境變量'? – FreeTree0517

+0

@ FreeTree0517:https://stackoverflow.com/questions/8732119/pycharm-path-on-os-x –

相關問題