Explicit environ flag for importing eventlet.__version__ without ignoring import errors
Allows to read package version without installing dependencies. ``` import eventlet print(eventlet.__version__) # ok eventlet.sleep() # error ```
This commit is contained in:
parent
f52c4d31b6
commit
ca26b02d61
@ -13,7 +13,7 @@ version_next=
|
||||
|
||||
main() {
|
||||
branch="${1-$(git symbolic-ref --short HEAD)}"
|
||||
version="$(python -c 'import eventlet; print(eventlet.__version__)')"
|
||||
version="$(EVENTLET_IMPORT_VERSION_ONLY=1 python -c 'import eventlet; print(eventlet.__version__)')"
|
||||
printf "\nbranch: %s eventlet.__version__: '%s'\n" $branch $version >&2
|
||||
if [[ "$branch" != "master" ]]; then
|
||||
echo "Must be on master" >&2
|
||||
@ -44,7 +44,7 @@ main() {
|
||||
confirm "Continue still? [yN] " || exit 1
|
||||
fi
|
||||
|
||||
if confirm "Build documentation (website)? [Yn] " >&2; then
|
||||
if confirm "Build documentation (website)? [Yn] "; then
|
||||
bin/build-website.bash || exit 1
|
||||
git checkout "$branch"
|
||||
fi
|
||||
|
@ -1,7 +1,12 @@
|
||||
import os
|
||||
|
||||
|
||||
version_info = (0, 20, 0)
|
||||
__version__ = '.'.join(map(str, version_info))
|
||||
|
||||
try:
|
||||
# This is to make Debian packaging easier, it ignores import
|
||||
# errors of greenlet so that the packager can still at least
|
||||
# access the version. Also this makes easy_install a little quieter
|
||||
if os.environ.get('EVENTLET_IMPORT_VERSION_ONLY') != '1':
|
||||
from eventlet import greenthread
|
||||
from eventlet import greenpool
|
||||
from eventlet import queue
|
||||
@ -39,11 +44,3 @@ try:
|
||||
TimeoutError = timeout.Timeout
|
||||
exc_after = greenthread.exc_after
|
||||
call_after_global = greenthread.call_after_global
|
||||
except ImportError as e:
|
||||
# This is to make Debian packaging easier, it ignores import
|
||||
# errors of greenlet so that the packager can still at least
|
||||
# access the version. Also this makes easy_install a little quieter
|
||||
if 'greenlet' not in str(e):
|
||||
# any other exception should be printed
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
29
setup.py
29
setup.py
@ -1,42 +1,47 @@
|
||||
#!/usr/bin/env python
|
||||
from setuptools import find_packages, setup
|
||||
from eventlet import __version__
|
||||
from os import path
|
||||
import os
|
||||
import setuptools
|
||||
|
||||
|
||||
setup(
|
||||
os.environ.setdefault('EVENTLET_IMPORT_VERSION_ONLY', '1')
|
||||
import eventlet
|
||||
|
||||
setuptools.setup(
|
||||
name='eventlet',
|
||||
version=__version__,
|
||||
version=eventlet.__version__,
|
||||
description='Highly concurrent networking library',
|
||||
author='Linden Lab',
|
||||
author_email='eventletdev@lists.secondlife.com',
|
||||
url='http://eventlet.net',
|
||||
packages=find_packages(exclude=['benchmarks', 'tests', 'tests.*']),
|
||||
packages=setuptools.find_packages(exclude=['benchmarks', 'tests', 'tests.*']),
|
||||
install_requires=(
|
||||
'enum-compat',
|
||||
'greenlet >= 0.3',
|
||||
),
|
||||
zip_safe=False,
|
||||
long_description=open(
|
||||
path.join(
|
||||
path.dirname(__file__),
|
||||
os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
'README.rst'
|
||||
)
|
||||
).read(),
|
||||
test_suite='nose.collector',
|
||||
classifiers=[
|
||||
"Development Status :: 4 - Beta",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Programming Language :: Python",
|
||||
"Operating System :: MacOS :: MacOS X",
|
||||
"Operating System :: POSIX",
|
||||
"Operating System :: Microsoft :: Windows",
|
||||
"Operating System :: POSIX",
|
||||
"Programming Language :: Python :: 2",
|
||||
"Programming Language :: Python :: 2.6",
|
||||
"Programming Language :: Python :: 2.7",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.3",
|
||||
"Programming Language :: Python :: 3.4",
|
||||
"Programming Language :: Python :: 3.5",
|
||||
"Programming Language :: Python",
|
||||
"Topic :: Internet",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Intended Audience :: Developers",
|
||||
"Development Status :: 4 - Beta",
|
||||
]
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user