如何激活virtualenv?
我已经经历了search,尝试了各种各样的select,但没有成功,现在花了好几天的时间 – 让我发疯。
使用Python 2.5.2在Red Hat Linux上运行开始使用最新的Virtualenv,但无法激活它,我发现某处build议需要更早的版本,所以我使用了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.
仍然没有喜悦
这是我的工作stream程创build一个文件夹并cd
到它:
$ 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
activate
可执行文件。
你可以做
source ./python_env/bin/activate
或只是去目录
cd /python_env/bin/
接着
source ./activate
祝你好运。
问题在于/bin/.
命令。 那真是奇怪,因为。 应该总是一个链接到它所在的目录(老实说,除非是一个奇怪的别名或函数,我什至不知道它是如何可能的)。有一点也是不寻常的,你的shell没有.
内build的source
。
一个简单的解决办法就是在不同的shell中运行virtualenv。 (一个明显的第二个好处是,不必deactivate
你可以exit
。)
/bin/bash --rcfile bin/activate
如果你的shell支持它,你也可以使用非标准的source
命令,它应该和.
,但可能不存在。 (所有的说法,你应该试着弄清楚为什么你的环境很奇怪,否则会在未来再次引起你的痛苦。)
顺便说一句,你不需要chmod +x
这些文件。 如果你想直接执行它们,文件只需要是可执行的。 在这种情况下,您正试图从中启动它们.
,所以他们不需要它。
Cd到环境path,转到bin文件夹。 此时当你使用ls命令时,你应该看到“激活”文件。
现在input
source activate
而不是./activate
使用source activate
我会推荐virtualenvwrapper。 它为我创造奇迹,我总是有激活问题。 http://virtualenvwrapper.readthedocs.org/en/latest/
创build名为<Your Env _name >:
自己的Python虚拟环境<Your Env _name >:
我已经给了VE。
git clone https://github.com/pypa/virtualenv.git python virtualenv.py VE
要激活您的新虚拟环境,请运行( 注意不是./
这里 ):
. VE/bin/activate
示例输出( 注意提示已更改 ):
(VE)c34299@a200dblr$
一旦你的虚拟环境设置,你可以删除Virtualenv
回购。
我遇到了运行源/ bin /激活,然后我意识到我使用tcsh作为我的terminalshell而不是bash。 一旦我切换,我能够激活venv。
也许有点迟到张贴我的答案在这里,但我仍然会发布,这可能会让某些人受益,
我面临同样的问题,
主要原因是我创build了virtualenv作为“根”用户但后来试图用另一个用户激活它。
chmod不会工作,因为你不是该文件的所有者,因此替代方法是使用chown(更改所有权)
例如:
如果你在/ home / abc / ENV中创build了virtualenv
然后CD到/ home / abc
并运行命令: chown -Rv [用户对谁 – 你要更改所有权] [所有权需要更改的文件夹/文件名]
在这个例子中,命令是: chown -Rv abc ENV
所有权成功更改后,您可以简单地运行source /ENV/bin/./activate,并且您应该能够正确地激活virtualenv。
在Mac上,将shell更改为BASH(只需在terminal中键入bash)
[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您可以执行以下操作:
创build虚拟env为:virtualenv envName -python = python.exe(如果不是创build环境variables)
激活虚拟环境:> \ path \ to \ envName \ Scripts \ activate
要停用虚拟环境:> \ path \ to \ env \ Scripts \ deactivate
它适用于新的Python版本。