Как установить tldextract в приложении Python 2.7 в OpenShift?

#python-2.7 #openshift

#python-2.7 #openshift

Вопрос:

Желаемое поведение

Как установить tldextract (PyPI и GitHub) в приложение на Python 2.7 в OpenShift.

Что я пробовал

Я попытался добавить в setup.py например:

 install_requires=['bottle','pymongo','requests','beautifulsoup4','lxml','Beaker','pycrypto','pillow','tldextract']
  

А затем импортировать в приложение с помощью:

 import tldextract
  

Я также попробовал следовать этому сообщению и запустил следующее из командной строки:

 virtualenv $OPENSHIFT_DATA_DIR/virtualenv --distribute
source $OPENSHIFT_DATA_DIR/virtualenv/bin/activate
pip install tldextract
deactivate
  

но я получаю ту же ошибку, что и показано ниже.

Это произошло, несмотря на показ предыдущего шага Successfully installed tldextract .

Фактическое поведение

Наличие:

 import tldextract
  

в приложении возникает ошибка 500.

Запуск tail с:

 rhc tail -f app-root/logs/python.log [appname]
  

Ошибка заключается в:

 ImportError: No module named tldextract
  

Ответ №1:

Решение

Я не знаю, как и почему, но я подключился по ssh к shell и запустил следующее, ImportError исчезло, и происходит желаемое поведение:

 source ~/python/virtenv/bin/activate
pip install --log $OPENSHIFT_DATA_DIR/inst.log https://github.com/john-kurkowski/tldextract/archive/master.zip
  

Для справки, setup.py все еще содержит следующее, но я не уверен, способствует ли это какой-либо функциональности:

 install_requires=['bottle','pymongo','requests','beautifulsoup4','lxml','Beaker','pycrypto','pillow','tldextract']
  

Редактировать

Для справки, я также смог выполнить вышеуказанные шаги, чтобы установить Pillow.