如何激活Cygwin中的virtualenv

时间:2016-08-29 09:33:43

标签: python shell cygwin virtualenv

在这里完成初学者。试图建立一个烧瓶网络应用程序。使用Windows 8。

在Cygwin中激活我的python virtualenv时遇到一些问题。到目前为止我一直在使用git shell,没有任何问题。

我将我的文件夹(“app”)复制到我的cygwin主目录中,它设置如下:

app - templates
    - static
    - flask - env - scripts - python
                  - ...
    - hello.py
    - ...

我将目录更改为app文件夹,然后当我输入命令激活我的virtualenv时:

$ source flask/env/scripts/activate

终端显示:

(env)

所以我假设它正常工作,直到我仔细检查哪个python:

$ which python

并返回我原来的全局python安装,而不是虚拟环境。我检查了已安装的软件包,以便仔细检查我正在使用的python环境。

我在git shell中使用相同的命令,它激活了正确的virtualenv。我哪里出错/我需要改变什么?如果您需要更多信息,请与我们联系。

我使用cygwin创建了一个新的虚拟环境,当我激活新的env时,它切换到了那个环境。为什么它不能用于我复制的文件夹?

谢谢,

萨姆

1 个答案:

答案 0 :(得分:2)

你不应该移动virtualenv。 virtualenv中的activate脚本在内部使用绝对路径。如果移动目录,路径将不再有效,因此which python会在PATH上找到第一个有效的二进制文件,这是您的全局二进制文件。

如果您需要将项目移动到其他位置,并将virtualenv与它一起移动,则重新创建virtualenv,不要复制它。 建议的做法是拥有requirements.txt文件,并使用pip install -r requirements.txt安装软件包。 这样,重新创建virtualenv非常简单:创建一个空的virtualenv,然后运行pip ...命令。除了{{1}之外,virtualenv中应该没有其他内容需要移动,只有pip放在那里或其他python安装程序脚本,如果你使用任何(和你需要重新运行) })。