如何在Linux下激活virtualenv ?

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

运行在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

再次尝试activate

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

还是不高兴……

924001 次浏览

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

一个快速的解决方法是在不同的shell中运行virtualenv。(第二个明显的优点是不必deactivate,而只需exit。)

/bin/bash --rcfile bin/activate

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

顺便说一下,你不需要chmod +x这些文件。只有当你想要执行直接时,文件才需要是可执行的。在这种情况下,你试图从.启动它们,所以它们不需要它。

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

下面是我创建一个文件夹并__abc0 '放入其中后的工作流程:

$ 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是一个可执行名称。 最初几次也让我震惊,很容易认为手册告诉我“从环境文件夹的根目录执行这个”。< / p >

不需要通过chmod使activate可执行。

我在运行源代码/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 abc ENV

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

而不是./activate

使用source activate

See this截图

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版本上运行良好。

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

source venv/bin/activate

enter image description here

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

< p > $ cd <YOURPROJECT> 更改目录到那个项目

< p > $ virtualenv <NEWVIRTUALENV> 创建新的virtualenv

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

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

Windows 10

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

Windows 10虚拟环境目录

在Windows 10中激活虚拟环境。

down\scripts\activate

\scripts目录包含激活文件。

Linux Ubuntu

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

Linux Ubuntu虚拟环境目录

激活Linux Ubuntu中的虚拟环境。

source ./bin/activate

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


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

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

source ./down/Scripts/activate

运行这段代码,它将被激活,如果你在Windows机器
source venv/Scripts/activate < / p >

enter image description here

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

enter image description here