繁体   English   中英

如何在复制virtualenv文件夹后激活Cygwin中的virtualenv

[英]How to activate virtualenv in Cygwin after copying the virtualenv folder

在这里完成初学者 试图建立一个烧瓶网络应用程序。 使用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创建了一个新的虚拟环境,当我激活新的环境时,它切换到了那个环境。 为什么它不能用于我复制的文件夹?

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

最后一句是真正的问题。 您尝试激活的方式是正确的。 问题是不能移动virtualenv目录。

virtualenvactivate脚本在内部使用绝对路径。 如果移动目录,路径将不再起作用,因此which pythonPATH上找到第一个有效二进制文件,这是您的全局二进制文件。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM