Enforcing python version in setup.py

岁酱吖の 提交于 2019-11-27 17:09:21

问题


Currently, we are setting\installing up some packages on system by mentioning their version and dependencies in setup.py under install_requires attribute. Our system requires python 2.7. Sometimes, users are having multiple versions of python say 2.6.x and 2.7, some packages it says are available already but actually on the system available under 2.6 site packages list. Also some users has 2.6 only, how to enforce from setup.py or is there any other way to say to have only python 2.7 and all packages which we want setup.py to update are for only 2.7. We require minimum 2.7 on the machine to run our code.

Thanks! Santhosh


回答1:


As the setup.py file is installed via pip (and pip itself is run by the python interpreter) it is not possible to specify which Python version to use in the setup.py file.

Instead have a look at this answer to setup.py: restrict the allowable version of the python interpreter which has a basic workaround to stop the install.

In your case the code would be:

import sys
if sys.version_info < (2,7):
    sys.exit('Sorry, Python < 2.7 is not supported')



回答2:


The current best practice (as of this writing in March 2018) is to add a python_requires argument directly to the setup() call in setup.py:

from setuptools import setup

[...]

setup(name="my_package_name",
      python_requires='>3.5.2',
      [...]

Note that this requires setuptools>=24.2.0 and pip>=9.0.0; see the documentation for more information.



来源:https://stackoverflow.com/questions/19534896/enforcing-python-version-in-setup-py

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!