2016-12-03 2 views
1

Приносим извинения за новичку на вопрос Python.PythonAnywhere: import mechanize дает ImportError, но pip дает «уже удовлетворенный»

У меня есть сценарий, который имеет

import mechanize 

, который дает ошибку:

File "/usr/local/lib/python3.5/dist-packages/mechanize/__init__.py", line 122, in <module> from _mechanize import \ 
ImportError: No module named '_mechanize' 

Я думаю, это означает, что модуль не установлен или инициализации, но когда я открываю BASH и Тип:

$ pip3.5 install mechanize 

... это дает ошибку

Requirement already satisfied: mechanize in /usr/local/lib/python3.5/dist-packages 

Я посмотрел here и here. Последний подходит, но я думаю, что использую правильный выпуск pip.

Извините за то, что я уверен, это ужасная номенклатура новичка. Я подозреваю, что существует разница между механизацией и _механизацией, но я не знаю, что это такое.

ответ

2

Общее предложение: вы должны использовать virtual environments, так как это предотвращает проблемы в пакетах путем размещения пакетов в каждом виртуальном env. Таким образом, легче поддерживать версии модуля python.

На обычном ПК вы можете быть в состоянии решить вашу проблему, как это (но это не будет работать на PythonAnywhere):

cd /usr/local/lib/python3.5/dist-packages/mechanize/ 
python setup.py install 

затем попытаться снова импортировать.

Если это не помогает, то попробуйте сделать следующее

pip uninstall mechanize 
pip install mechanize 
+0

Спасибо. Первые две рекомендации не сработали, но создали виртуальную среду и переместили все модули в то, что отлично работало. Огромное спасибо. – Suzanne

+0

смешно, что последнее заявление было броском в конце - повезло, я упомянул об этом! – Chinny84

+0

@hwjp Приветствия для редакций! – Chinny84

Смежные вопросы