2010-06-24 2 views
8

Я тестирую питона подпроцесс, и я получаю эту ошибку:Python подпроцесс Помощь

$ python subprocess-test.py 
Traceback (most recent call last): 
    File "subprocess-test.py", line 3, in <module> 
    p = subprocess.Popen(['rsync', '-azP', 'rsync://cdimage.ubuntu.com/cdimage/daily-live/current/maverick-desktop-amd64.iso', '/home/roaksoax/Desktop/iso'], stdout=subprocess.PIPE) 
AttributeError: 'module' object has no attribute 'Popen' 

Мой скрипт:

import subprocess 
p = subprocess.Popen(['rsync', '-azP', 'rsync://cdimage.ubuntu.com/cdimage/daily-live/current/maverick-desktop-amd64.iso', '/home/testing/maverick.iso'], stdout=subprocess.PIPE) 

ли вы, ребята, знаете, что может происходить?

+0

Какую версию Python вы используете? –

+0

subprocess находится в python начиная с версии 2.4, если используется более старая версия python, ошибка должна произойти уже во время операции импорта. –

+0

@Fabian: Это правда, но в любом случае полезно указать в вопросе. –

ответ

27

Дикая догадка: у вас есть свой собственный файл подпроцесс.py, который маскирует стандартный библиотечный модуль.

Что вы видите это ?:

import subprocess 
print subprocess.__file__ 

Это покажет, что файл импортируется в subprocess.

+0

Это действительно проблема! Спасибо!! – user175259

+5

btdt. Болезненные ... –