gpt4 book ai didi

Python 和 virtualenv - 为什么使用 python 版本来命名子目录?

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:27 24 4
gpt4 key购买 nike

<分区>

为什么 virtualenv 创建机制坚持使用使用的 Python 版本命名子目录?我指的是类似 test_venv/venv3/lib/>>>python3.6<<</site-packages 的东西

当您使用 3.6 venv 时,您当然会获得 3.6 包。与 2.7 相同,意思是 2.7 包。没有 activate 就不能使用这些- 预先输入 venv,这样混淆的风险似乎很低。

除其他事项外,人们经常会问为什么某些东西不起作用,这与操作系统系统路径或 python sys.path 有关。并且以 python 版本命名这些子路径使得很难概括在哪里可以找到 site-packages。 .

编辑:以下是在 macOS 上,但我在 Ubuntu 18.04 VM 上得到了大致相同的行为。

virtualenv ./venv2 创建一个 python 2 虚拟环境

目录结构 tree -d -L 3 ./venv2/ :

./venv2/
├── bin
├── include
│   └── python2.7 -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
└── lib
└── python2.7
├── config -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
├── distutils
├── encodings -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings
├── lib-dynload -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
└── site-packages

python3 -m venv ./venv3 创建一个 python 3 虚拟环境

稍微好一些,但仍然会影响站点包。

./venv3/
├── bin
├── include
└── lib
└── python3.6
└── site-packages

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com