Ошибка Pycurl: AttributeError: объект «модуль» не имеет атрибута «Curl»

Совершенно новый raspberry pi, использующий образ debian с сайта pi.

Я использовал sudo apt-get install python-pycurl

Мой скрипт выглядит так

import pycurl
c = pycurl.Curl()
c.setopt(c.POST, 1)
c.setopt(c.SSL_VERIFYPEER, 1)
c.setopt(c.CAINFO, '/etc/ssl/certs/ca-certificates.crt')
c.setopt(c.URL, 'https://theurl.com')
c.setopt(c.USERPWD, 'user:pass')
c.setopt(c.POSTFIELDS, 'Field1=This&Field2=That')
c.perform()

я получаю это

Traceback (most recent call last):
  File "pycurl.py", line 1, in <module>
import pycurl
  File "/home/pi/test/pycurl.py", line 3, in <module>
    c = pycurl.Curl()
AttributeError: 'module' object has no attribute 'Curl'

person nathank    schedule 22.08.2012    source источник


Ответы (2)


Посмотрите на путь в трассировке. Похоже, вы можете импортировать свой собственный модуль с именем pycurl.py, а не реальную библиотеку pycurl. Попробуйте переименовать этот файл во что-то другое, чтобы Python импортировал настоящий pycurl.

person BrenBarn    schedule 22.08.2012
comment
Ты прав. Я изменил имя файла и теперь получаю: Traceback (последний последний вызов): файл test.py, строка 1, в «модуле» import pycurl ImportError: нет модуля с именем pycurl - person nathank; 22.08.2012
comment
@ user1617655: Тогда, я думаю, вы неправильно установили pycurl. - person BrenBarn; 22.08.2012
comment
Я ценю вашу помощь. Вы были правы в обеих учетных записях, имени файла и конфигурации pycurl. Я изменил версию Python по умолчанию на 2.7, используя sudo update-alternatives --config python, и она начала работать. Спасибо еще раз. - person nathank; 22.08.2012

python сначала проверяет наличие модуля в текущем каталоге, а затем в каталоге python. переименуйте файл в mypicurl.py или что-то в этом роде. в противном случае вы просто импортируете скрипт.

edit: я только что увидел ваш комментарий, и это означает, что вы не установили его должным образом. попробуйте переустановить или установить из .deb

person Cinder    schedule 22.08.2012