virtualenv在Windows Cygwin上无法工作

3
我在Windows 7机器上安装了cygwin。我正在尝试按照这里的说明进行操作:
  1. 创建一个新的项目目录
  2. cd进入新目录
  3. 输入virtualenv venv,成功创建了新的虚拟目录
  4. 但是下一步操作不能正常运行

我试图激活虚拟环境,但它不起作用。

"venv\scripts\activate"

当我输入以上内容时,没有任何反应。

USER@PCTEST~/newproj $ venv/Scripts/activate

USER@PCTEST ~/newproj $ which python /cygdrive/c/python27/python


你尝试过 source venv\scripts\activate 吗? - metmirr
谢谢metmirr。我有,这就是发生的事情:USER@PCTEST~/newproj $ source venv/scripts/activate(venv) USER@PCTEST ~/newproj$ which python /home/USER/newproj/venv/Scripts/python (venv)USER@PCTEST ~/newproj $ python换句话说,它似乎已经激活了,但当我输入“python”时,解释器似乎没有工作,只是停在那里。 - NoviceHead88
哈哈,真的吗?但是如果Python命令在该环境中无法工作怎么办?我该如何在新的虚拟环境中激活Python解释器? - NoviceHead88
关闭此 cmd 窗口,打开一个新的窗口并尝试相同操作。 - metmirr
是的,我在新窗口中尝试过了,结果还是一样的行为 :| - NoviceHead88
看起来你的环境已经成功激活。Python 可能会出现“不工作”的情况,因为 Cygwin 输出缓冲。尝试使用 python -i 命令以交互模式启动 Python 并强制打印输出。 - Alex Kosh
1个回答

3

解决方案

使用source.(点 空格)命令运行激活脚本:

source ./venv/Scripts/activate

# Or

. ./venv/Scripts/activate

解释

source 命令在当前的Shell环境下运行外部命令,因此虚拟环境可以正常工作。而以名称运行脚本会启动一个新的隔离的Shell环境,在其中激活venv,然后关闭新的环境并返回原始环境。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接