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 устраняет проблему. Странный.