gpt4 book ai didi

python - 在对底层 Python 进行补丁级别升级后,virtualenv 会继续工作吗?

转载 作者:行者123 更新时间:2023-11-28 17:08:23 28 4
gpt4 key购买 nike

我想将我的系统 Python 从 3.6.2 升级到 3.6.4 以获得错误修复。这会破坏我使用 3.6.2 构建的虚拟环境吗?

最佳答案

和往常一样,答案是“视情况而定”。

virtualenvpipenv 工具将选择的python 版本复制到env/bin/。这意味着 virtualenv 不会收到点发布。

$ file env/bin/python3
env/bin/python3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)

推荐的 venv(以前的 pyvenv)工具(在 linux 上)创建一个符号链接(symbolic link)到它执行的 python 版本(可以被认为是文件系统的“重定向”)。这意味着如果原始可执行文件被替换,virtualenv 将自动接收点发布:

$ file env/bin/python3.6
env/bin/python3.6: symbolic link to /usr/bin/python3.6

此行为是可调的,即使不使用符号链接(symbolic link),venv 也可以就地升级版本:

$ python3.6 -m venv -h
[...]
--symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
[...]

据我所知,virtualenv 工具没有这样的功能,这大概是建议现在使用 venv 的原因之一。

关于python - 在对底层 Python 进行补丁级别升级后,virtualenv 会继续工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49544094/

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