在这里完成初学者。试图建立一个烧瓶网络应用程序。使用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时,它切换到了那个环境。为什么它不能用于我复制的文件夹?
谢谢,
萨姆
答案 0 :(得分:2)
你不应该移动virtualenv。 virtualenv中的activate
脚本在内部使用绝对路径。如果移动目录,路径将不再有效,因此which python
会在PATH
上找到第一个有效的二进制文件,这是您的全局二进制文件。
如果您需要将项目移动到其他位置,并将virtualenv与它一起移动,则重新创建virtualenv,不要复制它。
建议的做法是拥有requirements.txt
文件,并使用pip install -r requirements.txt
安装软件包。
这样,重新创建virtualenv非常简单:创建一个空的virtualenv,然后运行pip ...
命令。除了{{1}之外,virtualenv中应该没有其他内容需要移动,只有pip
放在那里或其他python安装程序脚本,如果你使用任何(和你需要重新运行) })。