【问题标题】:Run an existing python web application inside a virtalenv在 virtualenv 中运行现有的 Python Web 应用程序
【发布时间】:2015-06-15 22:53:38
【问题描述】:
我是使用 virtualenv 进行 python 开发的新手。我已经在 windows 中安装了 python 2.7、pip、virtualenv、virtualenvwrapper,我正在使用 windows PS。我已经参考了很多教程来设置它。它们中的大多数都包含相同的步骤,并且几乎所有这些都没有解释在创建 virtualenv 之后要做什么。
我如何在 virtualenv 中实际工作?假设我想在我的新环境 virtualenv(例如 testenv)中安装该软件包后创建一个新的烧瓶应用程序。
如果我已经有一个现有项目,并且想将其放入新创建的虚拟环境中,我该怎么做?文件夹结构应该是怎样的?
我对虚拟环境的理解是,它为您的应用程序提供了一个沙箱,方法是隔离应用程序并将其所有依赖项保留在该特定环境中(而不是与其他人共享)。我理解错了吗?
请帮我解决这个问题。
【问题讨论】:
标签:
python
windows
directory
project
virtualenv
【解决方案1】:
我如何在 virtualenv 中实际工作?假设我想在我的新环境 virtualenv(例如 testenv)中安装该软件包后创建一个新的烧瓶应用程序。
您打开命令提示符并激活 virtualenv:
> \path\to\env\Scripts\activate
当您运行 python 和 pip 时,它们会在 virtualenv 中运行。您必须为每个命令提示符窗口执行此操作,因为在 virtualenv 中工作实际上只是在运行 C:\path\to\env\bin\python 而不仅仅是 python 和 C:\path\to\env\bin\pip 而不是 pip。
如果我已经有一个现有的项目,并且我想把它放在一个新创建的虚拟环境中,我该怎么做?文件夹结构应该是怎样的?
没关系。当你安装 Python 包时,它们会被全局安装到C:\Python27\site-packages。使用 virtualenv,您可以创建具有自己包的隔离 Python 环境,因此,如果您正在处理需要不同版本包的两个项目,它们可以共存而不会出现任何问题。
有些人为他们的 virtualenvs 创建一个文件夹(如C:\Users\you\Virtualenvs\my_website)。您也可以将其与您的项目一起存储(例如C:\Users\you\Projects\my_website\venv)。一旦你激活它,位置就无关紧要了。我用后者。
我对虚拟环境的理解是,它为您的应用程序提供了一个沙箱,方法是隔离应用程序并将其所有依赖项保留在该特定环境中(而不是与其他人共享)。我理解错了吗?
不。我要澄清的唯一一点是,“沙盒”仅适用于 Python 的包,它不会以任何方式影响您的应用程序。
【解决方案2】:
- testenv/bin/pip 和 testenv/bin/python
- 我会在本地存储库中检查它并在 virtualenv 中检查它。
- 不,你没有。