2024-09-29 02:19:39 发布
网友
我们有一个应用程序,它使用pyenv/virtualenv来管理python依赖关系。我们希望确保在应用程序中工作的每个人都有相同的python版本。来自ruby,模拟的是Gemfile。在某种程度上,.ruby版本。在
python中的等价物是什么?是吗?python版本?我见过很多.gitinore里面都有这个,通常是在评论“.pyenv”下。原因是什么?还有什么选择?在
setuptools(24.2.0+)的最新版本允许您在分发级别控制Python版本。在
setuptools
例如,假设只允许在Python 3.6的(兼容)版本上安装,可以指定:
# in setup.py from setuptools import setup setup( ... python_requires='~=3.6', ... )
此安装程序生成的发行版将具有关联的元数据,这将阻止在不兼容的Python版本上安装。您的客户机需要pip的当前版本才能正常工作,旧的pip(<;9.0.0)不会检查此元数据。在
pip
如果您必须将此要求扩展到使用旧版本pip的用户,您可以在setup.py文件的模块级别的某个地方对sys.version进行显式检查。但是,请注意,有了这个解决方案,pip仍然可以下载这个包——它将在以后使用不正确的解释器版本进行pip install尝试时失败。在
setup.py
sys.version
pip install
setuptools
(24.2.0+)的最新版本允许您在分发级别控制Python版本。在例如,假设只允许在Python 3.6的(兼容)版本上安装,可以指定:
此安装程序生成的发行版将具有关联的元数据,这将阻止在不兼容的Python版本上安装。您的客户机需要
pip
的当前版本才能正常工作,旧的pip(<;9.0.0)不会检查此元数据。在如果您必须将此要求扩展到使用旧版本
pip
的用户,您可以在setup.py
文件的模块级别的某个地方对sys.version
进行显式检查。但是,请注意,有了这个解决方案,pip仍然可以下载这个包——它将在以后使用不正确的解释器版本进行pip install
尝试时失败。在相关问题 更多 >
编程相关推荐