Як активувати virtualenv?


234

Я невдало пройшов пошук і спробував різні альтернативи і витратив на це кілька днів - зводив мене з розуму.

Запуск на Red Hat Linux з Python 2.5.2 Почав використовувати останню Virtualenv, але не зміг її активувати, я десь підказав, що потрібна більш рання версія, тому я використав Virtualenv 1.6.4, як це повинно працювати з Python 2.6.

Здається, встановити віртуальне середовище добре

[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.

Навколишнє середовище виглядає нормально

[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin  include  lib

Спроба активації

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Перевірено chmod

[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r-

Проблема, тому я її змінив

[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r--    1 necrailk biz12        1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x    1 necrailk biz

Спробуйте activateще раз

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Ще немає радості ...


6
ви пробували "source ~ / virtual / bin / activate"?
ммбрій

4
З допомогою каталогу вашого оточення зробіть, . bin/activateі це повинно працювати добре.
дансальмо

1
Я думаю, що вам просто потрібно було використовувати sourceкоманду, тобтоsource bin/activate
Hack-R

1
Я думаю , що ви повинні зробити це з каталогу virtualenv так перший cd ~/.virtualenvs/*environmentname*потімsource ~/.virtual/bin/activate
11m0

Відповіді:


311

Ось мій робочий процес після створення папки та введення cdв неї:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python

4
ок, спробував це не радість [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ source virtual / bin / activate source: Не визначена змінна. [necrailk @ server6 ~] $ sh virtual / bin / activate [necrailk @ server6 ~] $
larry

8
Не вводьте $символ, який II виглядає , як ви зробили тут: [necrailk@server6 ~]$ $source. $використовується для позначення командного рядка.
Джастін Гаррік

3
І все-таки помилка, що погано розміщена (), помилка () ... що робити?

2
ту ж помилку тут :( user @ mintdesk ~ / python_v $ venv / bin / activate bash: venv / bin / activate: У дозволі відмовлено
Rui Lima

1
Альтернативою введення "джерела" весь час є використання ".":$ . venv/bin/activate
karwag

89

Ви забули зробити source bin/activateтам, де джерело - ім'я виконавця. Поразило мене спочатку кілька разів, легко подумати, що керівництво говорить "виконати це з кореня папки середовища".

Не потрібно робити activateвиконуваним через chmod.


4
ОП набрано . bin/activate. Зауважте ., що є синонімом для source.
Томас

1
"джерело - ім'я, яке виконується" ... який виконуваний файл? cmd.exe? powershell.exe?
StingyJack

1
Я намагаюся активувати середовище з крона, і воно не спрацювало без виконання файлів (chmod 755).
Тахлор

70

Ви можете зробити

source ./python_env/bin/activate

або просто перейдіть до каталогу

cd /python_env/bin/

і потім

source ./activate

Щасти.


27

CD на шлях оточення, перейдіть до папки bin. У цей момент, коли ви використовуєте команду ls, ви повинні побачити файл "активувати".

тепер введіть

source activate

23

Перейдіть до каталогу проектів. У моєму випадку microblogце каталог колби проекту і під microblogДиректорією повинна бути appі venvпапка. потім запустіть команду нижче, Це одна для мене працювала в Ubuntu.

source venv/bin/activate

введіть тут опис зображення


17

Проблема є в /bin/.команді. Це справді дивно, оскільки. завжди має бути посиланням на каталог, в якому він знаходиться. (Чесно кажучи, якщо .це не якийсь дивний псевдонім або функція, я навіть не бачу, як це можливо.) Також це незвично, що ваша оболонка не має . вбудованої версіїsource .

Одним із швидких виправлень було б просто запустити virtualenv в іншій оболонці. (Очевидною другою перевагою є те, що замість того, щоб deactivateви могли просто exit.)

/bin/bash --rcfile bin/activate

Якщо ваша оболонка підтримує її, ви також можете мати нестандартну sourceкоманду, яка повинна виконувати те саме ., що і може, але може не існувати. (Все сказане, ви повинні спробувати з'ясувати, чому ваше оточення дивне чи це завдасть вам знову біль у майбутньому.)

До речі, вам не потрібні були chmod +xці файли. Файли потрібно виконувати лише у тому випадку, якщо ви хочете виконати їх безпосередньо . У цьому випадку ви намагаєтеся запустити їх ., тому вони їм не потрібні.


2
Крім того, ви повинні джерело bin/activate, а не .bin/activate. Могли б навіть працювати з .тодішніми ...
krlmlr

@krlmlr Щоправда, я припустив, що це помилка друку, оскільки в наступному рядку він cdвходить bin.
kojiro

1
привіт [necrailk @ server6 ~ / virtual] $ source bin / activate Неправильно розміщені (). [necrailk @ server6 ~ / virtual] $
larry

2
korjiro - ти був правильний - мені потрібно було з’ясувати, чому оточення дивне - виявилося, що це нестандартна реалізація баш-переходу на стандартний баш вирішив усі проблеми
Larry

@larry рада, що це вийшло: Не забудьте позначити відповідь правильною.
kojiro

17

$ mkdir <YOURPROJECT> Створіть новий проект

$ cd <YOURPROJECT> Змініть каталог до цього проекту

$ virtualenv <NEWVIRTUALENV> Створення нових віртуалів

$ source <NEWVIRTUALENV>/bin/activate Активізація того нового virtualenv



9

Для Windows Ви можете виконувати такі дії:

TO створити віртуальну env як: virtualenv envName –python = python.exe (якщо не створити змінну середовища)

Для активації віртуального env:> \ path \ to \ envName \ Scripts \ activate

Щоб вимкнути віртуальну програму env:> \ path \ to \ env \ Scripts \ deaktiviraj

Це чудово працює на новій версії python.


Щоб додати уточнюючі деталі до цього: після створення віртуального середовища virtualenv venv , а потім вручну перейдіть у папку Сценарії, створену лише для перегляду файлів, ви побачите деякі активовані файли. Тож саме тут ми активуємо його для Windows. Тож cdу свою папку «Сценарії» і введіть . activateу свій командний рядок (обов’язково додайте пробіл після періоду). Ви помітите, що ваш шлях зміниться в командному рядку, додавши (venv) на початок вашого шляху. Це означає, що зараз активовано.
Azurespot

6
source virtualen_name/bin/activate

код


4
Ця відповідь вже надана (більше інформації) у існуючих відповідях. Відповідаючи на старі запитання з відповідями, переконайтеся, що ваша відповідь сприяє чомусь новому чи більш високої якості порівняно з існуючими відповідями.
Марк Ротвевель

4

Я б рекомендував також virtualenvwrapper. Це творить чудеса для мене і як у мене завжди виникають проблеми з активацією. http://virtualenvwrapper.readthedocs.org/en/latest/


привіт джерело і. (період) здається взаємозамінним necrailk @ server6 ~ / virtual] $ source bin / activate Неправильно розміщені (). це, здається, не працює
larry

мій дозвіл для сміття: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Еріка

згідно з документами virtuallenvwrapper в даний час не перевіряється на python2.5, тому не комфортно додавати до моїх можливих проблем, але дякую
larry

Просто обман. виявив, що мій господар використовував нестандартну оболонку. При зміні Bash все нормально працювало як слід. тепер у вікні відображається віртуальний env, і всі шляхи змінені відповідно. Велике спасибі за допомогу та пропозиції.
ларі

3

Створіть своє власне віртуальне середовище Python під назвою <Your Env _name >:. Я дав це VE.

git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE

Щоб активувати нове віртуальне середовище, запустіть ( зауважте, що його ./тут немає ):

. VE/bin/activate

Вибірка зразка ( запит примітки змінено ):

(VE)c34299@a200dblr$

Після встановлення віртуального середовища ви можете видалити Virtualenvрепо.


2
Ви не повинні перевіряти головну галузь virtualenv і очікувати, що вона справді спрацює. Використовуйте замість цього теговану версію.
Джон Брінгхерст

3

На Mac змініть оболонку на BASH (майте на увазі, що віртуальна env працює лише в bash shell)

[user@host tools]$. venv/bin/activate 

.: Command not found.

[user@host tools]$source venv/bin/activate

Badly placed ()'s.

[user@host tools]$bash

bash-3.2$ source venv/bin/activate

(venv) bash-3.2$ 

Бінго, це спрацювало. Див. Підказку змінено.

На Ubuntu:

user@local_host:~/tools$ source toolsenv/bin/activate

(toolsenv) user@local_host~/tools$ 

Примітка: підказка змінена


2

У мене виникли проблеми з завантаженням джерела / бін / активації, тоді я зрозумів, що використовую tcsh як свою термінальну оболонку замість bash. як тільки я переключився, я зміг активувати venv.


1

Windows 10

У Windows створюються такі каталоги:

Каталоги віртуального середовища Windows 10

Активація віртуального середовища в Windows 10.

down\scripts\activate

\ каталог сценаріїв містить файл активації.

Linux Ubuntu

В Ubuntu створені такі каталоги:

Каталоги віртуальної середовища Linux Ubuntu

Для активації віртуального середовища в Linux Ubuntu.

source ./bin/activate

/ bin каталог містить файл активації.


Віртуальне середовище скопійовано з Windows на Linux Ubuntu навпаки

Якщо папка віртуального середовища скопійована з Windows на Linux Ubuntu, то відповідно до каталогів:

source ./down/Scripts/activate

1

запустити цей код він активується, якщо ви знаходитесь на машині Windows
source venv/Scripts/activate

введіть тут опис зображення


0

Можливо, трохи пізно, щоб опублікувати свою відповідь тут, але все ж я опублікую, це може комусь корисно,

Я зіткнувся з тією ж проблемою,

Основна причина в тому, що я створив virtualenv як "root" користувача, але пізніше намагався активувати його за допомогою іншого користувача.

chmod не працюватиме, оскільки ви не є власником файлу, отже, альтернативою є використання chown (для зміни власності)

Наприклад:

Якщо у вас є ваш virtualenv створений в / home / abc / ENV

Потім CD в / home / abc

та запустіть команду: chown -Rv [user-to-кого-you want-change- owner ] [папка / ім'я файлу, право власності якого потрібно змінити]

У цьому прикладі командами будуть: chown -Rv abc ENV

Після успішного зміни права власності ви можете просто запустити source /ENV/bin/./activate, і ви повинні мати змогу правильно активувати virtualenv.


0

1- відкрийте панель повноважень та перейдіть до папки додатків. 2 введіть папку virtualenv, наприклад: cd. \ Venv \ Scripts \ 3- active virtualenv за типом. \ Activate

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.