![](/img/trans.png)
[英]Why `python main.py\` (different with `python main.py`) executable on Windows?
[英]why pycharm use different python when os.system('python main.py')
我的環境是ubuntu 14,Python 2.7。 當我直接使用os.system()函數運行程序時,它使用不同的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時,我得到了
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在/home/Monday/Applications/anaconda2
運行Python,但是當您執行os.system()
它將運行PATH
環境變量中的任何Python。 要解決此問題,您可以更改PyCharm運行設置,以將PATH環境變量設置為將Anaconda Python放在首位。
但更好的是,您不應僅從Python調用Python。 將main.py
更改為可導入模塊,而不是您執行的“ main”腳本。 這樣就很簡單:只需import main
(或任何它調用的),然后在其上調用函數。 這是一個更合適的設計,而且效率也更高。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.