2016-12-11 19 views
1

ubuntu 15.10のソースから手動でpython3.5.2をビルドしました。ビルドプロセスはうまくいったが、私は、スクリプトソースからのPython:subprocessに 'run'属性がありません

import subprocess 
print(subprocess.run(["ls"])) 

の下に実行したときに、今、私は次のような出力受信:私は(私はインストーラ経由python3.5.2がインストールされている)は、Windows上で同じスクリプトを実行すると

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'run' 

を私は期待された出力を受け取る:

CompletedProcess(args='ls', returncode=0) 

私のubuntuマシンのsubprocess.pyは存在し、 "実行"機能が定義されています。 私は、python3.5.2が(ubuntuにプリインストールされている)2.7のlibsフォルダのsubprocess.pyを探すことができると予想しましたが、そうではありません。

インストールに間違いがありますか?

+0

を試してみてください。 'import sys; print sys.version'です。 –

+0

トレースバックメッセージはPython 3(少なくともPython 3.5.1以降)でPython 2を実行していることを示唆しています。トレースバックは以下のようになります: 'AttributeError:module 'subprocess'に 'run'属性がありません。あなたのコメントのために@AshwiniChaudharyさん、 –

+0

さん、ありがとうございます。 ubuntuでは3.4.3、Windowsでは3.5.2を出力するので、本当に奇妙です。 –

答えて

0

は、スクリプトでPythonのバージョンを印刷してみ

import subprocess 
import sys 
print(sys.executable) 
print(subprocess) 
関連する問題