SSL отсутствует в Python. Объект 'module' не имеет атрибута 'HTTPSConnection' [закрыто]

Моя основная проблема заключается в том, что в модуле httplib python отсутствует HTTPSConnection .

Когда я пытаюсь использовать pip для установки структуры с помощью pip, я получаю следующую ошибку: объект 'module' не имеет атрибута 'HTTPSConnection'

Я использовал easy_install, и он работал по большей части, но он также выдавал ошибку:

Download error: unknown url type: https -- Some packages may not be found!

Это была моя процедура установки python2.7

sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar –xvf Python-2.7.5.tgz
cd Python-2.7.5
./configure --enable-shared --prefix=/usr --sysconfdir=/etc
make
sudo make altinstall

Установленные инструменты установки:

wget https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea
sudo sh setuptools-0.6c11-py2.7.egg

Установленный пакет:

curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.py
3
задан 20 June 2013 в 00:20

1 ответ

Я должен спросить, почему вы проходите через сборку Python из исходного кода? Мне просто интересно. Я понимаю, что это может быть обучающим упражнением, но для большинства практических целей (и особенно, если, как вы показываете, вы делаете ванильную сборку без модификаций стандартного Python), пакеты, включенные в Ubuntu, работают отлично.

Очевидно, что для того, чтобы Python собирался с поддержкой SSL, вам нужно раскомментировать некоторые вещи в Modules/Setup.dist перед запуском ./configure. Это начинается в строке 213 из Setup.dist:

# Socket module helper for socket(2)
#_socket socketmodule.c timemodule.c
# ^^^^ UNCOMMENT THIS LINE

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
#   -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
#   -L$(SSL)/lib -lssl -lcrypto
# ^^^^ UNCOMMENT PREVIOUS 4 LINES
# On Ubuntu, set SSL=/usr/ since /usr/include and /usr/include/openssl are there.
0
ответ дан 20 June 2013 в 00:20

Другие вопросы по тегам:

Похожие вопросы: