Проблема Python virtualenvwrapper при запуске хуков инициализации

10

На новой установке 16.04 я пытаюсь установить virtualenvwrapper, следуя этому замечательному ответу Герхарда Бургера.

после настройки .bashrc, при открытии терминала отображается

bash: /usr/local/bin/python2.7: No such file or directory
virtualenvwrapper.sh: There was a problem running the initialization hooks. 

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 and that PATH is
set properly.

расположение сценария

$ sudo find / -name virtualenvwrapper.sh
[sudo] password for john: 
/usr/local/bin/virtualenvwrapper.sh

содержимое моего .bashrc,

export WORKON_HOME=/home/john/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=/home/john/.virtualenvs

вот мой pip freeze

cffi==1.5.2
greenlet==0.4.9
pbr==1.10.0
readline==6.2.4.1
six==1.10.0
stevedore==1.15.0
virtualenv==15.0.2
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.1

расположение интерпретатора Python,

$ which python
/usr/bin/python

Как мне заставить это работать?

благодарю вас.

Все Вайти
источник
Добро пожаловать в AskUbuntu. Возможно, вы захотите добавить ссылку на указанный ответ, на который вы ссылаетесь :)
Videonauth
@Videonauth Спасибо. Я просто удалил ссылку во время очистки. Извините.
Всех с нетерпением
@ Джон Мой /usr/local/binдействительно не содержит python2.7, и я подозреваю, что ваш тоже не содержит. which python2.7говорит /usr/bin/python2.7, но я еще не понял, как сказать, virtualenvwrapperчтобы посмотреть /usr/binвместо /usr/local/bin.
edwinksl
@John Исходя из virtualenvwrapper.readthedocs.io/en/latest/…. , Можете ли вы добавить export VIRTUALENVWRAPPER_PYTHON=/usr/bin/pythonего .bashrcраньше source /usr/local/bin/virtualenvwrapper.sh?
Edwinksl
@edwinksl попробовал, но это не исправило.
Всех с нетерпением

Ответы:

17

Я использую Ubuntu Server 16.04. Вы также должны экспортировать интерпретатор Python, в котором вы установили virtualenvwrapper.

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.virtualenvs
source /home/vagrant/.local/bin/virtualenvwrapper.sh

так как у меня есть несколько установок Python.

окольный
источник
3

просто комментарий

источник /usr/local/bin/virtualenvwrapper.sh

линия в

~ / .Bashrc

файл .... у меня это сработало.

Аджай Кумар Боллою
источник
1

Возможно, вам нужно обновить переменную окружения PYTHONPATH. В вашем .bashrc перед всеми переменными virtualenvwrapper добавьте следующую строку:

export PYTHONPATH=${PYTHONPATH}:/usr/bin
Майкл
источник
0

В .bashrcсмене

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

а затем заставить его работать в текущей оболочке

source /usr/local/bin/virtualenvwrapper.sh 

После этого измените virtualenvwrapper.sh

VIRTUALENVWRAPPER_PYTHON="$(command \which python)"

к этому

VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
упавший дух
источник