307

我一直在寻找并尝试各种替代方案但没有成功,现在花了几天时间 - 让我发疯。

在 Red Hat Linux 上运行 Python 2.5.2 开始使用最新的 Virtualenv 但无法激活它,我发现某处建议需要早期版本,所以我使用了 Virtualenv 1.6.4,因为它应该适用于 Python 2.6。

好像安装虚拟环境ok

[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.

还是不开心...

4

17 回答 17

368

这是我创建文件夹并cd进入它后的工作流程:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
于 2013-01-30T14:27:57.187 回答
113

您忘记了source bin/activatesource 是可执行文件名称的位置。前几次也让我印象深刻,很容易认为手册告诉“从环境文件夹的根目录执行”。

无需activate通过chmod.

于 2014-07-13T08:20:01.437 回答
93

你可以做

source ./python_env/bin/activate

或者只是去目录

cd /python_env/bin/

接着

source ./activate

祝你好运。

于 2015-12-27T10:57:00.733 回答
38

转到项目目录。在我的情况下microblog是烧瓶项目目录,在microblog目录下应该有appvenv文件夹。然后运行以下命令,这是在 Ubuntu 中为我工作的命令。

source venv/bin/activate

在此处输入图像描述

于 2018-03-19T19:20:33.530 回答
30

cd到环境路径,进入bin文件夹。此时,当您使用 ls 命令时,您应该会看到“激活”文件。

现在输入

source activate
于 2017-06-16T00:15:55.260 回答
21

问题在于/bin/.命令。这真的很奇怪,因为. 应该始终是它所在目录的链接。(老实说,除非.是一个奇怪的别名或函数,否则我什至不明白这是怎么可能的。)你的 shell 没有. 内置 forsource也有点不寻常。

一个快速的解决方法是在不同的 shell 中运行 virtualenv。deactivate(一个明显的第二个优势是您可以不必这样做exit。)

/bin/bash --rcfile bin/activate

如果您的 shell 支持它,您可能还有非标准source命令,它应该与 执行相同的操作.,但可能不存在。(总而言之,你应该试着弄清楚为什么你的环境很奇怪,否则将来会让你再次痛苦。)

顺便说一句,您不需要chmod +x这些文件。如果您想直接执行文件,则只需要可执行文件。在这种情况下,您尝试从 启动它们.,因此它们不需要它。

于 2013-01-30T13:07:38.210 回答
21

$ mkdir <YOURPROJECT> 创建一个新项目

$ cd <YOURPROJECT> 将目录更改为该项目

$ virtualenv <NEWVIRTUALENV> 创建新的虚拟环境

$ source <NEWVIRTUALENV>/bin/activate 激活新的 virtualenv

于 2018-05-08T15:31:02.663 回答
16

代替./activate

利用 source activate

看这个截图

于 2016-10-13T11:25:14.150 回答
15

如果您在 Windows 机器上运行此代码,它将被激活
source venv/Scripts/activate

在此处输入图像描述

如果您在 linux/mac 机器上运行此代码,它将被激活
. venv/bin/activate

在此处输入图像描述

于 2020-06-06T18:07:01.773 回答
12

对于 Windows 您可以执行以下操作:

将虚拟环境创建为: virtualenv envName –python=python.exe(如果不创建环境变量)

激活虚拟环境:> \path\to\envName\Scripts\activate

停用虚拟环境:> \path\to\env\Scripts\deactivate

它适用于新的 python 版本。

于 2017-11-10T07:39:29.097 回答
4

我也会推荐 virtualenvwrapper 。它为我创造了奇迹,以及我如何总是遇到激活问题。http://virtualenvwrapper.readthedocs.org/en/latest/

于 2013-01-30T13:44:57.417 回答
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存储库。

于 2015-03-16T11:45:31.477 回答
3

视窗 10

在 Windows 中创建这些目录:

Windows 10 虚拟环境目录

在 Windows 10 中激活虚拟环境。

down\scripts\activate

\scripts 目录包含激活文件。

Linux的

在 Ubuntu 中,这些目录被创建:

Linux Ubuntu 虚拟环境目录

在 Linux Ubuntu 中激活虚拟环境。

source ./bin/activate

/bin 目录包含激活文件。


虚拟环境从 Windows 复制到 Linux Ubuntu,反之亦然

如果虚拟环境文件夹从 Windows 复制到 Linux Ubuntu 然后根据目录:

source ./down/Scripts/activate
于 2020-01-23T12:28:57.843 回答
3

在 Mac 上,将 shell 更改为 BASH(请注意 virtual 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$ 

注意:提示已更改

于 2017-11-07T05:42:51.500 回答
2

我在运行 source /bin/activate 时遇到了麻烦,然后我意识到我使用 tcsh 作为终端 shell 而不是 bash。切换后,我就可以激活 venv。

于 2014-11-30T20:02:50.610 回答
0

在这里发布我的答案可能有点晚了,但我仍然会发布,虽然它可能会使某人受益,

我也遇到过同样的问题

主要原因是我将virtualenv创建为“root”用户但后来试图使用另一个用户激活它。

chmod 将不起作用,因为您不是文件的所有者,因此替代方法是使用 chown (更改所有权)

例如:

如果你在 /home/abc/ENV 创建了你的 virtualenv

然后 CD 到 /home/abc

并运行命令:chown -Rv [user-to-whom-you want-change-ownership] [需要更改所有权的文件夹/文件名]

在这个例子中,命令是:chown -Rv abc ENV

成功更改所有权后,您可以简单地运行source /ENV/bin/./activate并且您应该能够正确激活 virtualenv。

于 2016-04-23T09:38:33.860 回答
0

1- 打开 powershell 并导航到您的应用程序文件夹 2- 输入您的 virtualenv 文件夹 ex:cd .\venv\Scripts\ 3- 按类型激活 virtualenv .\activate

于 2019-03-10T23:55:43.927 回答