如何使用 setuptools 指定 python 版本?
How can I specify a python version using setuptools?
有没有办法指定 python 版本与 setup.py 中定义的 python 包一起使用?
我的 setup.py 目前是这样的:
from distutils.core import setup
setup(
name = 'macroetym',
packages = ['macroetym'], # this must be the same as the name above
version = '0.1',
description = 'A tool for macro-etymological textual analysis.',
author = 'Jonathan Reeve',
author_email = 'jon.reeve@gmail.com',
url = 'https://github.com/JonathanReeve/macro-etym',
download_url = 'https://github.com/JonathanReeve/macro-etym/tarball/0.1', # FIXME: make a git tag and confirm that this link works
install_requires = ['Click', 'nltk', 'pycountry', 'pandas',
'matplotlib'],
include_package_data = True,
package_data = {'macroetym': ['etymwm-smaller.tsv']},
keywords = ['nlp', 'text-analysis', 'etymology'],
classifiers = [],
entry_points='''
[console_scripts]
macroetym = macroetym.main:cli
''',
)
这是一个命令行程序。我的脚本使用 Python 3 运行,但许多操作系统仍然默认使用 Python 2。如何指定要在此处使用的 python 版本?我似乎在 the docs 中找不到任何东西,但也许我没有找对地方?
使用较新版本的 setuptools(24.2.0
或更高版本)和较新版本的 pip(9.0.0
或更高版本),您可以使用 python_requires
:https://packaging.python.org/tutorials/distributing-packages/#python-requires
Python 3+:
python_requires='>=3',
如果您的软件包适用于 Python 3.3 及更高版本,但您还不愿意承诺 Python 4 支持,请写:
python_requires='~=3.3',
如果您的软件包适用于 Python 2.6、2.7 和所有版本的 Python 3,从 3.3 开始,写:
python_requires='>=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4',
对于旧版本旧 answer/workaround.
您可以使用 sys.version
或 platform.python_version()
提出错误或警告
import sys
print(sys.version)
print(sys.version_info)
print(sys.version_info.major) # Returns 3 for Python 3
或者:
import platform
print(platform.python_version())
有没有办法指定 python 版本与 setup.py 中定义的 python 包一起使用?
我的 setup.py 目前是这样的:
from distutils.core import setup
setup(
name = 'macroetym',
packages = ['macroetym'], # this must be the same as the name above
version = '0.1',
description = 'A tool for macro-etymological textual analysis.',
author = 'Jonathan Reeve',
author_email = 'jon.reeve@gmail.com',
url = 'https://github.com/JonathanReeve/macro-etym',
download_url = 'https://github.com/JonathanReeve/macro-etym/tarball/0.1', # FIXME: make a git tag and confirm that this link works
install_requires = ['Click', 'nltk', 'pycountry', 'pandas',
'matplotlib'],
include_package_data = True,
package_data = {'macroetym': ['etymwm-smaller.tsv']},
keywords = ['nlp', 'text-analysis', 'etymology'],
classifiers = [],
entry_points='''
[console_scripts]
macroetym = macroetym.main:cli
''',
)
这是一个命令行程序。我的脚本使用 Python 3 运行,但许多操作系统仍然默认使用 Python 2。如何指定要在此处使用的 python 版本?我似乎在 the docs 中找不到任何东西,但也许我没有找对地方?
使用较新版本的 setuptools(24.2.0
或更高版本)和较新版本的 pip(9.0.0
或更高版本),您可以使用 python_requires
:https://packaging.python.org/tutorials/distributing-packages/#python-requires
Python 3+:
python_requires='>=3',
如果您的软件包适用于 Python 3.3 及更高版本,但您还不愿意承诺 Python 4 支持,请写:
python_requires='~=3.3',
如果您的软件包适用于 Python 2.6、2.7 和所有版本的 Python 3,从 3.3 开始,写:
python_requires='>=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4',
对于旧版本旧 answer/workaround.
您可以使用 sys.version
或 platform.python_version()
import sys
print(sys.version)
print(sys.version_info)
print(sys.version_info.major) # Returns 3 for Python 3
或者:
import platform
print(platform.python_version())