Не удается установить модуль Python шесть

У меня есть сервер в облаке AWS. Это был API-интерфейс фляги, который нормально вызывает API Google STT. Затем я попытался "произвести" API, настроив virtualenv и запустив там API, чтобы запустить Gunicorn.

Когда я попытался запустить API в виртуальном контейнере, он выдал ошибку об импорте клиента API Google. В моем virtualenv не было папки клиента google api, поэтому я скопировал папки из основной папки пакетов сайта python2.7. Тогда я получил сообщение о том, что он не может импортировать шесть в googleapiclient/discovery.py. Ошибка была "ImportError: ни один модуль с именем шесть".

В моей папке python virtualenv не было шести каталогов. Поэтому я попытался скопировать папку с именем six-1.10.0.dist-info из моей основной папки python2.7, но это не помогло. Я пробовал много вещей... таких как принудительная переустановка, но все та же ошибка с ссылкой на API Google от googleapiclient/discovery.py. Поэтому я попытался "sudo pip удалить шесть; sudo pip установить шесть". Это успешно удалено, но теперь я не могу установить снова. Когда я запускаю "sudo pip install шесть", я получаю следующее:

Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 48, in <module>
import six
ImportError: No module named six

Я также пробовал easy_install и такие опции, как --upgrade --ignore-installed, но без изменений в поведении.

Что, черт возьми, происходит? Почему я не могу переустановить шесть? Почему бы это не было признано в любом случае?


ОБНОВЛЕНИЕ Итак, этот пост stackru.com/questions/13270877/… помог мне установить шесть обратно в основную среду Python. Мой API работает там хорошо сейчас. Но тот же подход не работает для виртуальной среды.

Запуск "unset PYTHONPATH", кажется, помог мне установить модули в virtualenv. Похоже, что в образе AWS уже добавлен путь к питону, что сбивает с толку virtualenv. Однако я все еще получаю глупость ниже с шестью. Что здесь происходит?

(myprojectenv)[ec2-user@ip-172-31-29-83 myapi]$ python api.py
Traceback (most recent call last):
  File "api.py", line 3, in <module>
    from googleapiclient import discovery
  File "/home/ec2-user/myapi/myprojectenv/local/lib/python2.7/site-packages/googleapiclient/discovery.py", line 20, in <module>
import six
ImportError: No module named six
(myprojectenv)[ec2-user@ip-172-31-29-83 myapi]$ pip install --upgrade six
Requirement already up-to-date: six in ./myprojectenv/lib/python2.7/site-packages

0 ответов

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