如何在应用程序的源代码管理中管理python版本?

2024-09-29 02:19:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个应用程序,它使用pyenv/virtualenv来管理python依赖关系。我们希望确保在应用程序中工作的每个人都有相同的python版本。来自ruby,模拟的是Gemfile。在某种程度上,.ruby版本。在

python中的等价物是什么?是吗?python版本?我见过很多.gitinore里面都有这个,通常是在评论“.pyenv”下。原因是什么?还有什么选择?在


Tags: 版本应用程序pyenvvirtualenv关系评论原因ruby
1条回答
网友
1楼 · 发布于 2024-09-29 02:19:39

setuptools(24.2.0+)的最新版本允许您在分发级别控制Python版本。在

例如,假设只允许在Python 3.6的(兼容)版本上安装,可以指定:

# in setup.py
from setuptools import setup

setup(
    ...
    python_requires='~=3.6',
    ...
)

此安装程序生成的发行版将具有关联的元数据,这将阻止在不兼容的Python版本上安装。您的客户机需要pip的当前版本才能正常工作,旧的pip(<;9.0.0)不会检查此元数据。在

如果您必须将此要求扩展到使用旧版本pip的用户,您可以在setup.py文件的模块级别的某个地方对sys.version进行显式检查。但是,请注意,有了这个解决方案,pip仍然可以下载这个包——它将在以后使用不正确的解释器版本进行pip install尝试时失败。在

相关问题 更多 >