Может устанавливать пакеты, но не может импортировать
Я только что перешел с использования Windows на Ubuntu (12.04) и только начал учиться кодировать пару месяцев назад, так что я действительно новичок. Я попытался сделать это в Windows, и у меня есть некоторые вопросы здесь (не получил никаких ответов, но мои вопросы были довольно расплывчаты), и я был бы очень признателен, если бы кто-то мог помочь.
У меня проблемы с импортом успешно установленных пакетов. Моя первоначальная проблема была очень похожа на проблему здесь и здесь. Моя версия pip будет устанавливать только те 2,7 версии модулей, которые мне нужны, хотя мне необходимо для некоторых целей использовать python 3.2. Я следовал инструкциям, предоставленным AKAidiot для людей с Ubuntu 12.04 или менее. Я использовал следующий код
sudo apt-get install python3-setuptools
sudo easy_install3 pip
Казалось, это работает правильно. Единственная потенциальная проблема, которую я вижу, это то, что все говорят, что я должен использовать команду pip-3.2. Это не работает, и я использую pip3.2 вместо этого. Далее я пытаюсь установить geopy. Он говорит, что Geopy успешно установлен, но я получаю кучу ошибок.
Installing collected packages: geopy
*** Error compiling '/tmp/pip_build_root/geopy/geopy/geocoders/googlev3.py'...
File "/tmp/pip_build_root/geopy/geopy/geocoders/googlev3.py", line 277
u'pytz must be installed in order to locate timezones. '
^
SyntaxError: invalid syntax
*** Error compiling '/tmp/pip_build_root/geopy/geopy/geocoders/placefinder.py'...
File "/tmp/pip_build_root/geopy/geopy/geocoders/placefinder.py", line 72
signature_method=u"HMAC-SHA1",
^
SyntaxError: invalid syntax
*** Error compiling '/tmp/pip_build_root/geopy/geopy/location.py'...
File "/tmp/pip_build_root/geopy/geopy/location.py", line 21
def __init__(self, address=u"", point=None, raw=None):
^
SyntaxError: invalid syntax
Successfully installed geopy
Глядя на первое сообщение об ошибке, я подумал, что проблема заключается в отсутствии pytz. Я использовал `pip3.2 install pytz'и'import pytz'Сообщения об ошибках не появлялись, и, похоже, они работают правильно. Затем я удалил geopy и заново установил geopy. Сообщение об ошибке о пропавшем пыце не исчезло.
Вот сообщение об ошибке, когда я пытаюсь импортировать geopy.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/dist-packages/geopy/__init__.py", line 10, in <module>
from geopy.location import Location
File "/usr/local/lib/python3.2/dist-packages/geopy/location.py", line 21
def __init__(self, address=u"", point=None, raw=None):
Я попытался попробовать это для других модулей. Эти другие модули не являются жизненно важными для моего текущего проекта, но я подумал, что, возможно, была проблема, связанная с геопсией. Когда я попытался использовать pip3.2 для установки psycopg2 (и более поздних панд), он даже не установился правильно. Я получил следующее сообщение об ошибке
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/psycopg2
Storing debug log for failure in /home/ravi/.pip/pip.log
Другие модули, такие как Geocoder и sqlalchemy, имели проблемы, подобные геопии. Только pytz установлен правильно.
Когда я пытаюсь импортировать пакет, я получаю следующую ошибку. Я просмотрел обмен стека для людей, у которых были подобные проблемы. Вот ссылки на несколько потенциальных ответов, которые я нашел. Я не уверен, что полностью понял ответы на эти проблемы, но я уверен, что эти люди сталкиваются с проблемой, отличной от той, которая у меня есть. Тем не менее, просто чтобы проверить, я сделал
import sys
print(sys.path)
и в сообщении об ошибке, когда я делаю импорт, и sys.path содержат /usr/local/lib/python3.2/dist-packages
Я не уверен, полезно ли это знать, но я установил python 3.2 с помощью PPA Deadsnakes, используя приведенные здесь инструкции. Все работает точно так, как должно быть в python 2.7, и использование virtualenv вызвало те же проблемы.
Извиняюсь за длину вопроса и за то, что он очень конкретный, но я действительно в отчаянии.