pip install в virtualenv из github с помощью опции-e не удается добавить пакет в путь python
Я пытаюсь установить пакет из моего github в режиме" редактируемый " (- e), чтобы иметь возможность легко работать с репозиторием во время его использования.
однако это вызывает проблемы, потому что он недоступен в пути python после его установки.
С новым, чистым virtualenv" издатель " создан и активирован, я запускаю следующее:
pip install -e git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Obtaining easy-thumbnails from git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Cloning https://github.com/roberts81/easy-thumbnails.git to /Users/ben/Envs/publisher/src/easy-thumbnails
Running setup.py egg_info for package easy-thumbnails
no previously-included directories found matching 'docs/_build'
Installing collected packages: easy-thumbnails
Running setup.py develop for easy-thumbnails
no previously-included directories found matching 'docs/_build'
Creating /Users/ben/Envs/publisher/lib/python2.7/site-packages/easy-thumbnails.egg-link (link to .)
Adding easy-thumbnails 1.2 to easy-install.pth file
Installed /Users/ben/Envs/publisher/src/easy-thumbnails
Successfully installed easy-thumbnails
Cleaning up...
затем, если я запускаю python (все еще в моем virtualenv) и пытаюсь импортировать что-либо из этого пакета, это не удается.
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import easy_thumbnails
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named easy_thumbnails
>>>
Если я устанавливаю его без опции-e, все работает денди. Я получаю тот же эффект (т. е. они не находятся на пути python после их установки) с другими РЕПО, например pip install -e git+http://github.com/django/django.git@stable/1.5.x#egg=django
. Так что же происходит?
одна вещь, которую я замечаю, заключается в том, что она, похоже, не обновляет простую установку.PTH файл, хотя он говорит, что это так... здесь происходит что-то странное.
но если я его запускаю (установка pip... команды) с sudo, это работает! Также я могу установить пакет глобально (вне virtualenv, с sudo, конечно), и это работает.
варианты:
pip= = 1.2.1 о virtualenv==1.8.4 virtualenvwrapper==3.6 python= = 2.7.2 Mac OSX 10.8.2
4 ответов
у меня была аналогичная проблема и я решил ее, удалив virtualenv, воссоздав его, активировав его, а затем (прежде чем делать что-либо еще) обновив pip и setuptools в среде. Начните с открытия нового окна терминала (чтобы убедиться, что виртуальный env не активирован) и перейдите в каталог выше, где живет ваш virtualenv. Тогда сделай:
rm -rf env
virtualenv env
. env/bin/activate
pip install -U pip setuptools
после этого я смог установить пакет из GitHub (используя pip
) и смог импортировать его в python.
Работа для меня с pip 1.2.1 и virtualenv 1.8.4:
$ virtualenv -p python2.7 venv
Running virtualenv with interpreter /usr/local/bin/python2.7
New python executable in venv/bin/python
Installing setuptools............done.
Installing pip...............done.
$ source venv/bin/activate
$ pip install -e git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Obtaining easy-thumbnails from git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Cloning https://github.com/roberts81/easy-thumbnails.git to ./venv/src/easy-thumbnails
Running setup.py egg_info for package easy-thumbnails
no previously-included directories found matching 'docs/_build'
Installing collected packages: easy-thumbnails
Running setup.py develop for easy-thumbnails
no previously-included directories found matching 'docs/_build'
Creating /Users/jterrace/test/venv/lib/python2.7/site-packages/easy-thumbnails.egg-link (link to .)
Adding easy-thumbnails 1.2 to easy-install.pth file
Installed /Users/jterrace/test/venv/src/easy-thumbnails
Successfully installed easy-thumbnails
Cleaning up...
$ python
Python 2.7.3 (default, Nov 12 2012, 09:50:25)
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import easy_thumbnails
>>> easy_thumbnails.VERSION
'1.2'
это может показаться глупым сейчас, так как на вопрос был дан ответ, и это касается другой проблемы, но это было решение для меня, когда я получил эту ошибку. (Я надеюсь, что это поможет другим)
убедитесь, что у вас есть на месте. Структура должна выглядеть так:
/myprojectname
/myprojectname
__init__.py
mymodule.py
setup.py
запустите "pip install -e .
" из верхнего уровня , все работает. Я забыл __init__.py
в моем случае, и забыл, что это возможная причина это сообщение.
хотя он решает другую проблему, следуя этот Mac OSX 10.8-специфичный поток к своему заключению, казалось, решил проблему для меня.
в частности, я установил распространение не с помощью pip:
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
затем я добавил export VIRTUALENV_DISTRIBUTE=1
в ~/.bashrc файл и перезапустил мои терминалы.
Я удалил и переустановил virtualenv и virtualenvwrapper просто для безопасности.
затем я уничтожил свои старые виртуальные env и воссоздал их. По какой-либо причине исправление virtualenv для использования и установки distribute устраняет проблему. Странный.