完整的初学者在这里。尝试构建一个 Flask Web 应用程序。使用 Windows 8。
在 Cygwin 中激活我的 python virtualenv 时遇到一些问题。到目前为止我一直在使用 git shell,没有任何问题。
我将文件夹(“app”)复制到我的 cygwin 主目录中,其设置如下:
app - templates
- static
- flask - env - scripts - python
- ...
- hello.py
- ...
我将目录更改为应用程序文件夹,然后当我键入命令来激活我的 virtualenv 时:
$ source flask/env/scripts/activate
终端显示:
(env)
所以我假设它正在工作,直到我仔细检查哪个 python:
$ which python
这会返回我原来的全局 python 安装,而不是虚拟环境。我已经检查了已安装的软件包,以仔细检查我正在使用哪个 python 环境。
我在 git shell 中使用相同的命令,它激活了正确的 virtualenv。我哪里出了问题/我需要改变什么?如果您需要更多信息,请告诉我。
我使用 cygwin 创建了一个新的虚拟环境,当我激活新的环境时,它很好地切换到了该环境。为什么它不适用于我复制到的文件夹?
我使用 cygwin 创建了一个新的虚拟环境,当我激活新的环境时,它很好地切换到了该环境。为什么它不适用于我复制到的文件夹?
最后一句话才是真正的问题。您尝试激活的方式是正确的。问题是virtualenv
不得移动目录。
The activate
里面的脚本virtualenv
内部使用绝对路径。如果移动目录,路径将不再起作用,所以which python
找到第一个有效的二进制文件PATH
,这是您的全局二进制文件。
如果您需要将项目和 virtualenv 一起移动到其他位置,然后重新创建 virtualenv,请勿复制它。
推荐的做法是有一个requirements.txt
文件,并使用安装包pip install -r requirements.txt
。
这样,重新创建 virtualenv 就非常简单:创建一个空的 virtualenv,然后运行pip ...
命令。 virtualenv 内部不应该有任何其他东西需要移动,只有pip
放在那里,或者其他 python 安装程序脚本,如果您使用过任何脚本(并且您需要重新运行,除了pip
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)