首页 > 解决方案 > Python virtualenv 需要和它所属的项目在同一个地方创建?

问题描述

最近我开始了一个基于 Flask/Python 的项目。现在我已经设置好环境了——但我从来没有在python中一步一步创建项目,我在学习编程语言时只体验过一些小脚本和小应用程序。

我已经在同一个文件夹中安装并设置了所有依赖项,如您在此处看到的:

在此处输入图像描述

在 'env' - 我已经创建了虚拟环境。

在“TheSocial”中 - 是并且它将是应用程序本身。

我的问题是

1)如果这个“env”将被移动或者它不是在“project_py”中创建的,我来自“TheSocial”的应用程序仍然可以在virutalenv中运行,或者不是?

2) 在创建任何项目结构时是否需要遵守任何标准?

我还看到了一个已经回答的StackOverFlow 问题,但我想找出问题1 的答案)

这些问题在范围内得到解决,以了解实际项目是如何从头开始构建和设计的。

标签: pythonpython-3.xvirtualenvproject

解决方案


1) 创建 virtualenv 会更改系统的 $PATH:

 $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin:/Users/wgonczaronek/bin:/usr/local/sbin
 $ source venv/bin/activate
 $ echo $PATH
/Users/wgonczaronek/Projects/django & flask security/CSP/csp-flask/venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin:/Users/wgonczaronek/bin:/usr/local/sbin

里面activate有以下几行负责:

VIRTUAL_ENV="/Users/wgonczaronek/Projects/django & flask security/CSP/csp-flask/venv"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"

这意味着当您移动环境时,这将不再有效。

2) 保持一致。在我的项目中,我喜欢将 git 存储库“封装”在一个同名的目录中,我在其中保存我的虚拟环境和其他东西(我有一个特殊文件 FFF.txt,它代表经常被遗忘的功能,我保存所有与项目相关的信息个人使用:D)。当我想摆脱它时,这允许我在一个命令中清理项目并且我不为我的环境的命名约定而烦恼 - 我不必编辑.gitignore。有些人喜欢使用虚拟环境包装器pyenv,它们将所有虚拟环境保留在项目之外。只需尝试并找出最适合您的方法。


推荐阅读