我应该将 python 文件放在 venv 文件夹中的什么位置?

问题描述 投票:0回答:2

可能是一个菜鸟问题,但我在谷歌搜索了20分钟后没有找到解决方案。

我使用 PyCharm 创建了一个新的纯 Python 项目,它产生了以下文件夹结构

myproject
└── venv
    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── easy_install
    │   ├── easy_install-3.5
    │   ├── pip
    │   ├── pip3
    │   ├── pip3.5
    │   ├── python
    │   ├── python3
    │   └── python3.5
    ├── include
    ├── lib
    │   └── python3.5
    ├── lib64 -> lib
    └── pyvenv.cfg

我现在应该把

myproject.py
myproject
文件夹放在哪里?

  • venv
    内部还是外部?
  • venv/bin
    文件夹中?
  • 就在
    venv
    里面,即
    myproject/venv/myproject.py
python virtualenv directory-structure
2个回答
64
投票

虚拟环境管理不属于您的文件。它并不关心您如何管理自己的文件。将它们放在对您有意义的任何位置,但不要放在 venv 目录树中的任何位置。常见的解决方案包括直接在 myproject

 中,或在 
myproject/src
 中。

就其价值而言,虚拟环境的重要用例之一是能够删除虚拟环境并重新开始。如果您将不属于虚拟环境一部分的东西放在那里,显然您无法做到这一点。将其视为临时基础设施。

另一个用例是能够为同一个项目拥有多个虚拟环境,以便您可以测试您的代码是否适用于您所依赖的不同版本的库,甚至不同的 Python 版本。

一个常见的约定是在

requirements.txt

 中收集您需要的库,以便您可以创建一个新的虚拟环境,
activate
它,并在需要时
pip install -r requirements.txt


16
投票
我猜你误解了“虚拟环境”这个词。它提供了一个隔离的环境,您可以在其中下载不同版本的 python 包并为您的项目运行它。因此,不要在虚拟环境中放置任何东西。保持干净。

要利用虚拟环境,

    激活它(源path_to_virtual_env/bin/activate)
  • 使用 pip 安装必要的 python 包(pip install XYZ)
  • 并使用 python 命令(python3 mycode.py)运行你的 python 代码
© www.soinside.com 2019 - 2024. All rights reserved.