Де virtualenvwrapper.sh після установки pip?


127

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

Це вміст /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ОС X.
небезпечна

53

Я щойно перевстановив його за допомогою піп.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

І цього разу він поставив його в / usr / local / bin.


Це працювало для мене на Ubuntu, також дозволяючи which virtualenvwrapper.shпрацювати, що нічого не повертало, поки я цього не зробив.
eddiemoya

Після цієї команди у Fedora 23 я знайшов virtualenvwrapper.sh лише у usr / bin.
tomaskazemekas

1
Спочатку встановив його, apt-getі він приземлився /usr/share/virtualenvwrapper/virtualenvwrapper.sh, потім очистив його і зробив твій фокус.
Хоуке

Це працювало для мене в 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: серйозно? чи можете ви надіслати мені знімок екрана відразу після запуску "pip uninstall virtualenvwrapper"
Ануй Гупта

1
Гарний ярлик. Я використовую це навіть для інших бібліотек. Спасибі!
Махеш Вемула

15

або, як я це зробив .. просто видалити virtualenvwrapper

видалити sudo pip virtualenvwrapper

а потім встановити його з easy_install

sudo easy_install virtualenvwrapper

цього разу я знайшов встановлений файл " /usr/local/bin/virtualenvwrapper.sh " ... До цього я не знайшов цього файлу ніде навіть цією командою

знайти / -імен 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

В OS X 10.8.2, з Python 2.7:

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


7

У капіталі OSx EI я встановив 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

(З ОС 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

Я отримав TON "дозволів, відхилених", і рівно одну роздруківку файлу. Я пропустив його, поки не знайшов це розташування файлу, коли я знову видалив / встановив його за допомогою 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
Якщо ви тільки що встановили його, перевірте вихід на Terminal, я розміщую мою:

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/

що є звичайним випадком, але я думаю, що вони змінили шлях за замовчуванням на

~ або $ ДОМАШНЯ

каталог, оскільки його більше ізолювати для інсталяцій 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.