2017-06-04 78 views
0

調用subprocess.Popen([「python」])會產生一個進程,就好像調用全局2.7 python一樣,而不是產生如virtualenv中定義的3.6版本。 subprocess.Popen文檔說execvp被調用,但它似乎就像一個新的乾淨的外殼調用它。 有沒有辦法強制在代碼內但在virtualenv下調用系統調用?Pycharm subprocess.Popen python under virtualenv

在macOS上運行,在由Pycharm識別的virtualenv目錄下(Preferences-> Project-> Project Interpreter指向virtualenv中的python)。我的全局python命令啓動了2.7解釋器,但是在virtualenv python中將會啓動3.6解釋器。

回答

1

subprocess.Popen([sys.executable])