Где находится virtualenvwrapper.sh после установки pip?


127

Я пытаюсь настроить virtualenvwrapper на OSX, и все инструкции и руководства, которые я нашел, говорят мне добавить исходную команду в .profile, указывая на virtualenvwrapper.sh. Я проверил все каталоги python и site-packages, и не могу найти ни одного virtualenvwrapper.sh. Это что-то мне нужно скачать отдельно? Пип устанавливается неправильно?

Это содержимое /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper:

hook_loader.py      hook_loader.pyc     project.py      project.pyc     user_scripts.py     user_scripts.pyc

Как видите, нет virtualenvwrapper.sh. Где это находится?

Ответы:


158

Вы можете использовать findкоманду для поиска файла:

find / -name virtualenvwrapper.sh

Это будет искать файл во всех каталогах из корня.


на ubuntu 12.04 LTS, установка через pip, устанавливается в

/usr/local/bin/virtualenvwrapper.sh


на ubuntu 17.04, установка через pip как обычный пользователь, он устанавливается в

~/.local/bin/virtualenvwrapper.sh


83

ты уже пробовал это?

$ which virtualenvwrapper.sh

это работает, но почему не which virtualenvwrapperработает? Разве это не имя команды в переменных окружения?
zakdances

10
Чтобы помочь любому, кто задает тот же вопрос о том, почему whichне работает, это потому, что virtualenvwrapper фактически использует свой собственный файл завершения bash для добавления чисто виртуальных команд, virtualenvwrapperодна из которых является общей . Следовательно, на диске нет физического файла, на который можно было whichбы указать.
Тим

1
@yourfriendzak, сценарий Баша virtualenvwrapper.shдолжен быть получен в вашей оболочке , прежде чем любой из команд ( mkvirtualenv, rmvirtualenvи т.д.) доступен, то есть $ source /path/to/virtualenvwrapper.sh
tenfishsticks

Это было намного быстрее, findно оба работали. Моя находилась usr/local/binна OS X.
опасный

54

Я просто переустановил его с помощью pip.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

И на этот раз он поместил его в / usr / local / bin.


Это сработало для меня в Ubuntu, также позволив which virtualenvwrapper.shработать, которая ничего не возвращала, пока я не сделал это.
eddiemoya 02

После этой команды в Fedora 23 я обнаружил virtualenvwrapper.sh только в usr / bin.
tomaskazemekas

1
Первоначально установил его, apt-getи он приземлился /usr/share/virtualenvwrapper/virtualenvwrapper.sh, затем очистил его и сделал свое дело.
Hauke

Это сработало для меня в Ubuntu 14.04, если вы find / -name xxxx.shничего не нашли.
alanwsx

48

Точный путь, по которому хранится / расположен файл virtualenvwrapper.sh, зависит от ОС . Даже в одной и той же ОС он меняется от версии к версии. Поэтому нам нужно универсальное решение, которое работает для всех версий ОС.

Самый простой способ найти его путь - это сделать

pip uninstall virtualenvwrapper

Это потребует подтверждения. Скажите «Нет». Но первая строка подтверждения показывает путь к virtualenvwrapper.sh (если вы ответите «Да», запрос покажет список файлов, которые он удалит. Первая запись в этом списке содержит путь к virtualenvwrapper.sh на вашем компьютере)


У меня это не сработало. Я использую Python 2.7.14 с Virtualenv 15.1.0, virtualenvwrapper 4.8.2.
whyisyoung

@whyisyoung: серьезно?
Можете

1
Хороший ярлык. Я использую это даже для других библиотек. Спасибо!
Махеш Вемула

15

или, как я, просто удалите virtualenvwrapper

sudo pip удалить virtualenvwrapper

а затем установите его с помощью easy_install

sudo easy_install virtualenvwrapper

на этот раз я обнаружил установленный файл " /usr/local/bin/virtualenvwrapper.sh " ... До этого я нигде не находил этот файл даже с помощью этой команды

найти / -name virtualenvwrapper.sh


11

В Mac OS

which virtualenvwrapper.sh

ты получил

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

и ты можешь

sudo ln /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh

и в твоем .bash_profile

source /usr/local/bin/virtualenvwrapper.sh

или ты можешь

source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh


7

В OSx EI captain я установил virtualenvwrapper как

sudo pip3 install virtualenvwrapper

, однако я не могу найти virtualenvwrapper.sh в /user/local/bin, он был наконец найден по адресу /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh, и вы можете сделать мягкую ссылку на / usr / local / bin как

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh, и все, что вы можете, просто следовать руководству по установке, как это делает официальный документ. Удачи!


5

Для меня это было в:

~/Library/Python/2.7/bin/virtualenvwrapper.sh

(С OS X, с pip install --userустановкой)



4

Для дистрибутивов на основе RPM (например, Fedora 19) после выполнения sudo pip install virtualenvwrapperкоманды вы можете найти файл по адресу:

/usr/bin/virtualenvwrapper.sh

На Манджаро, в основе арки, она тоже находилась под /usr/binвместо /usr/local/bin. Не знаю почему.
Руэл Рибейро,

3

Установил его с помощью pip на Ubuntu 15.10 с использованием обычного пользователя, он был помещен в ~/.local/bin/virtualenvwrapper.shкоторый я обнаружил, запустив:

$ find / -name virtualenvwrapper.sh 2>/dev/null


2

С помощью

find / -name virtualenvwrapper.sh

Я получил ТОННУ «запрещенных разрешений» и ровно одну распечатку расположения файла. Я пропустил это, пока не нашел это местоположение файла, когда снова удалил / установил его с помощью pip.

Если вам было интересно, это было в

/usr/local/share/python/virtualenvwrapper.sh

2
чтобы избавиться от «отказано в разрешении», вы можете перенаправить STDERR в / dev / null. Например: $ find / -name virtualenvwrapper.sh 2> / dev / null
psycat

2

В моем случае (OSX El Capitan, версия 10.11.5) мне нужно было отредактировать .profile следующим образом:

В терминале:

vim ~ / .profile

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh                                                                                   

А затем перезагрузите профиль (чтобы он был доступен в текущем сеансе).

источник ~ / .profile

Надеюсь, это кому-то поможет.


2

Я могу найти его в macOS Mojave (10.14), играя с virtualenvwrapper-4.8.4

/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh


1

Хотя это вопрос OS X, вот что у меня сработало в Linux (Red Hat).

Мой virtualwrapper.sh был в

~/.local/bin/virtualenvwrapper.sh

Вероятно, это потому, что я установил virtualenvwrapper локально, используя --userфлаг ...

pip install --user virtualenvwrapper

... в качестве альтернативы рискованной практике использования sudo pip.



0
/usr/local/bin/virtualenvwrapper.sh

3
No such file or directoryЯ также просмотрел каталог / usr / local / bin и не нашел ничего, что выглядело бы связанным с virtualenv или virtualenvwrapper
zakdances

0

У меня была такая же проблема с черной костью бигля (Debian).

У меня сработала загрузка пакета и установка вручную.


0

Для Ubuntu.
Если вы только что установили его, проверьте вывод в Терминале, я публикую свой:

Running setup.py install for virtualenv-clone    
Installing virtualenv-clone script to /home/username/.local/bin
Successfully installed virtualenvwrapper virtualenv virtualenv-clone stevedore pbr six
Cleaning up...

Здесь вторая строка указывает путь. Для меня это было в/home/username/.local/bin


0

pip не будет специально усложнять вам задачу.

Дело в том, что файлы на основе команд всегда устанавливаются в /binпапки, они могут быть где угодно на системном пути.

У меня была такая же проблема, и я обнаружил, что у меня есть эти файлы в моем

~/.local/bin/

папка вместо

/usr/loca/bin/

что является обычным случаем, но я думаю, что они изменили путь по умолчанию на

~ или $ HOME

каталог, потому что он более изолирован для установок pip и обеспечивает различие между пакетами apt-get и пакетами pip.

Итак, подойдя к сути, у вас есть два варианта: вы можете перейти на свой .bashrc и внести такие изменения

# for virtualenv wrapper
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME/.local/bin/virtualenvwrapper.sh

и чем создать каталог virtualenvwrapper под /usr/share/и чем символизировать ваш virtualwrapper_lazy.sh, как это

sudo ln -s ~/.local/bin/virtualenvwrapper_lazy.sh /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh

и вы можете проверить, работает ли ваша команда workon, в которой будут перечислены ваши существующие virtualenv.


0

Если вы выполняете pip install virtualenvwrapperбез sudo как обычный пользовательский пип, он будет работать, но не будет копировать файлы в требуемые места из-за отсутствия разрешений.

mortiz@florida:~# sudo pip3 install virtualenvwrapper

Используйте sudo, и файлы будут созданы по соответствующим путям:

root@florida:/usr/local/bin# ls -ltr
total 8008
-rwxr-xr-x 1 root staff 8136192 Jun 11 17:45 chromedriver
-rwxr-xr-x 1 root staff   41697 Sep  5 16:06 virtualenvwrapper.sh
-rwxr-xr-x 1 root staff    2210 Sep  5 16:06 virtualenvwrapper_lazy.sh
-rwxr-xr-x 1 root staff     215 Sep  5 16:06 pbr
-rwxr-xr-x 1 root staff     218 Sep  5 16:06 virtualenv-clone
-rwxr-xr-x 1 root staff     213 Sep  5 16:06 virtualenv
root@florida:/usr/local/bin# 

Работал у меня над Debian GNU / Linux 9



-2

Вы установили его с помощью sudo? Была ошибка в моем случае.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.