Is there a way to specify a python version to be used with a python package defined in setup.py?
My setup.py currently looks like this:
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 = '[email protected]',
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
''',
)
It's a command-line program. My script runs using Python 3, but a lot of operating systems still have Python 2 as the default. How can I specify a python version to be used here? I can't seem to find anything in the docs, but maybe I'm not looking in the right place?
Python __version__ Attribute Python contains many “Magic Methods/Attributes”. One of these is __version__ commonly called “Dunder version” because of the double underscore before and after version.
To check which version of the Python library setuptools is installed, run pip show setuptools or pip3 show setuptools in your CMD/Powershell (Windows), or terminal (macOS/Linux/Ubuntu).
Setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the Python standard library distutils (distribution utilities). It includes: Python package and module definitions. Distribution package metadata.
With newer versions of setuptools (24.2.0
or above) and newer versions of pip (9.0.0
or above) you can use python_requires
: https://packaging.python.org/tutorials/distributing-packages/#python-requires
Python 3+:
python_requires='>=3',
If your package is for Python 3.3 and up but you’re not willing to commit to Python 4 support yet, write:
python_requires='~=3.3',
If your package is for Python 2.6, 2.7, and all versions of Python 3 starting with 3.3, write:
python_requires='>=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4',
For older versions the old answer/workaround.
You can raise an error or warning using sys.version
or platform.python_version()
import sys
print(sys.version)
print(sys.version_info)
print(sys.version_info.major) # Returns 3 for Python 3
Or:
import platform
print(platform.python_version())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With