2017-08-06 16 views
0

私の環境はubuntu 14、Python 2.7です。プログラムを直接os.system()関数で実行すると、別のPythonインタプリタが使用されます。私のコードは以下の通りです:なぜpycharmはos.system( 'python main.py')のときに別のpythonを使用する


# 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を実行したとき、私はmain.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'] 

を得た私が得ました

1.2.1 
['/home/Monday/Applications/anaconda2/lib/python2.7/site-packages/tensorflow'] 
私は以下のように私の通訳を設定している

Applications/anaconda2/lib/python2.7 
+0

どのように設定しましたか? –

+0

申し訳ありませんが、 'configure'はどういう意味ですか? – FreeTree0517

答えて

0

PyCharmが/home/Monday/Applications/anaconda2でのPythonを実行しているが、あなたがos.system()を行う際には、PythonがあなたのPATH環境変数にあるものは何でも動作します。この問題を解決するには、PyCharmの実行設定を変更して、PATH環境変数を設定してAnaconda Pythonを最初に配置します。

でも、PythonからPythonを呼び出さない方がいいでしょう。 main.pyを、実行する「メイン」スクリプトではなく、インポート可能なモジュールに変更します。次に、それは単純になります:ちょうどimport main(またはそれが呼び出されたもの)であり、その上で関数を呼び出します。これはより適切な設計であり、より効率的です。

+0

ありがとうございます。 'Path Environment variable'を変更する方法を教えてください。 – FreeTree0517

+0

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

関連する問題