Установка пакета Python вручную - PullRequest
4 голосов
/ 12 сентября 2011

Я бы хотел использовать https://github.com/erikvold/Github-to-Lighthouse-Issue-Migrator/blob/master/migrator.py, но в комментариях, начиная со строки 8, написано:

# pip install lighthouse-python-api (probably have to do this manually)

Но при попытке получить следующую ошибку:

$ pip install lighthouse-python-api
Downloading/unpacking lighthouse-python-api
  Could not find any downloads that satisfy the requirement lighthouse-python-api
No distributions at all found for lighthouse-python-api
Storing complete log in /Users/erikvold/.pip/pip.log

так что, мне кажется, мне нужно установить пакет вручную ... может кто-нибудь, пожалуйста, объяснит или даст ссылку на документацию, объясняющую, как это сделать?

1 Ответ

6 голосов
/ 12 сентября 2011

Как сказал @delnan, разработчик Lighthouse API должен действительно создать скрипт setup.py. В любом случае, есть два способа достичь того, чего вы хотите, и оба требуют понимания модулей Python.

Когда вы импортируете модуль в Python, вот так:

import lighthouse

интерпретатор ищет файл с именем lighthouse.py в каталоге, в котором был запущен входной скрипт, и, если он не может найти его там, он выполняет поиск в каталогах, указанных в переменной среды PYTHONPATH. Если вы не знаете, что такое переменная окружения, я предлагаю прочитать о них здесь: http://en.wikipedia.org/wiki/Environment_variable

Если он не может найти его в каталогах, указанных в переменной PYTHONPATH envi var, по умолчанию используется sys.path var, который зависит от установки.

То, что делает сопровождающий lighthouse (я думаю), это символическая ссылка на эти файлы из любого каталога, в который он их загрузил, в каталог по умолчанию для установки. Вы можете быстро выяснить, что это за каталог, запустив интерпретатор Python и посмотрев на sys.path var:

>>> sys.path
['', '/usr/local/lib/python2.6/dist-packages/Paste-1.7.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/tornado-1.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pymongo-1.10.1-py2.6-linux-x86_64.egg', '/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_debug_toolbar-0.8.5-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0']

Вы можете видеть, что /usr/local/lib/pthon2.6/dist-packages/ - это папка, в которой находятся модули. Я полагаю, что именно здесь сопровождающий символизирует свои файлы. ЭТО НЕ ХОРОШАЯ ИДЕЯ . Вы не должны изменять это напрямую.

Лучше всего просто загрузить файлы и поместить их в тот же каталог, что и ваш скрипт, либо поместить их в каталог и добавить этот каталог в среду PYTHONPATH var.

...