2016-12-11 2 views
1

Ich habe manuell Python3.5.2 aus Quellen auf meinem Ubuntu 15.10 erstellt. Der Build-Prozess ging gut, aber jetzt, wenn ich unten Skript ausführenPython aus Quellen: Subprozess hat kein Attribut 'run'

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

I erhalten folgende Ausgabe:

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

Wenn ich gleiche Skript auf Windows (wo ich python3.5.2 via Installer installiert haben) ich erhalte erwartete Ausgabe:

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

auf meiner ubuntu Maschine subprocess.py ist in und es hat „run“ Funktion definiert. Ich nahm an, dass python3.5.2 im Ordner libs nach subprocess.py suchen konnte (vorinstalliert auf ubuntu), aber das ist nicht der Fall.

Was könnte mit meiner Installation falsch sein?

+0

Versuchen Sie, die Version in Ihrem Skript Python zu drucken. 'import sys; print sys.version'. –

+0

Die Traceback-Nachricht deutet an, dass Sie immer noch Python 2 ausführen, in Python 3 (zumindest in Python 3.5.1) hätte das Traceback wie folgt ausgesehen: 'AttributeError: Modul 'Subprozess' hat kein Attribut 'run'. –

+0

@AshwiniChaudhary danke für Ihren Kommentar. Es ist wirklich seltsam, da es 3.4.3 auf Ubuntu und 3.5.2 auf Windows ausgibt. –

Antwort

0

Versuchen

import subprocess 
import sys 
print(sys.executable) 
print(subprocess) 
Verwandte Themen