我一直在寻找和尝试各种选择都没有成功,现在花了好几天的时间——快把我逼疯了。

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

检查修改文件权限

[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

再次尝试激活

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

还是不高兴……


这里的问题是/bin/。命令。这真的很奇怪,因为。应该总是指向它所在目录的链接。(说实话,除非。是一个奇怪的别名或函数,我甚至不知道这是怎么可能的。)还有一点不寻常的是shell没有。内建源代码。

一个快速的解决方法是在不同的shell中运行virtualenv。(第二个明显的优势是,你可以直接退出,而不必停用。)

/bin/bash --rcfile bin/activate

如果您的shell支持它,您还可以使用非标准源命令,该命令应该做与.相同的事情,但可能不存在。(总而言之,你应该试着弄清楚为什么你的环境是陌生的,否则它会在未来再次给你带来痛苦。)

顺便说一下,你不需要chmod +x这些文件。只有当你想直接执行文件时,文件才需要是可执行的。在本例中,您试图从。启动它们,因此它们不需要它。


我也会推荐virtualenvwrapper。这对我来说很神奇,我总是在激活方面有问题。http://virtualenvwrapper.readthedocs.org/en/latest/


这是我的工作流程后,创建一个文件夹和cd'ing到它:

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

您忘记执行source bin/activate,其中source是可执行名称。 最初几次也让我震惊,很容易认为手册告诉我“从环境文件夹的根目录执行这个”。

不需要通过chmod激活可执行文件。


我在运行源代码/bin/activate时遇到了麻烦,然后我意识到我正在使用tcsh作为我的终端shell而不是bash。一旦我切换,我就能激活venv。


创建自己的Python虚拟环境,名为< your Env _name >:。 我给它VE。

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

要激活你的新虚拟环境,运行(注意这里不是。/):

. VE/bin/activate

示例输出(注释提示已更改):

(VE)c34299@a200dblr$

设置好虚拟环境后,可以删除Virtualenv回购。


你可以这样做

source ./python_env/bin/activate

或者直接去目录

cd /python_env/bin/

然后

source ./activate

祝你好运。


现在在这里发表我的答案可能有点晚了,但我还是会发表的,尽管这可能会让一些人受益,

我也遇到过同样的问题,

主要原因是我以“根”用户创建了virtualenv 但后来我试图用另一个用户激活它。

Chmod不能工作,因为你不是文件的所有者,因此替代方案是使用chown(改变所有权)

例如:

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

CD到/home/abc目录

chown -Rv [user-to- whose -you want-change-ownership][需要更改所有权的文件夹/文件名]

在本例中,命令为:chown -Rv abc ENV

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


而不是。/activate

使用源激活


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

现在式

source activate

在Mac上,将shell更改为BASH(请注意虚拟环境只在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$ 

注:提示符更改


对于Windows系统,您可以执行如下操作:

创建虚拟环境变量:virtualenv envName -python =python.exe(如果没有创建环境变量)

激活虚拟环境:> \path\ To \envName\Scripts\activate 禁用虚拟环境:> \path\ To \env\Scripts\deactivate

它在新的python版本上运行良好。


进入项目目录。在我的例子中,微博是flask项目目录,在微博目录下应该有app和venv文件夹。然后运行下面的命令,这是一个适用于我的Ubuntu。

source venv/bin/activate


$ mkdir <你的项目> 创建一个新项目

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

$ virtualenv <NEWVIRTUALENV> 创建新的virtualenv

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


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


Windows 10

在Windows中,这些目录是创建的:

在Windows 10中激活虚拟环境。

down\scripts\activate

\scripts目录包含激活文件。

Linux Ubuntu

在Ubuntu中,这些目录是创建的:

激活Linux Ubuntu中的虚拟环境。

source ./bin/activate

/bin目录下包含激活文件。


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

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

source ./down/Scripts/activate

运行这段代码,它将被激活,如果你在Windows机器上 源venv /脚本/激活

运行这段代码,它将被激活,如果你在linux/mac机器上 . venv / bin /激活