Як активувати 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.