-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.py
More file actions
95 lines (80 loc) · 3.01 KB
/
setup.py
File metadata and controls
95 lines (80 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import os
import sys
from setuptools import setup, find_packages
from distutils.sysconfig import get_python_lib
# Warn if we are installing over top of an existing installation. This can
# cause issues where files that were deleted from a more recent Theory are
# still present in site-packages. See #18115.
overlayWarning = False
if "install" in sys.argv:
libPaths = [get_python_lib()]
if libPaths[0].startswith("/usr/lib/"):
# We have to try also with an explicit prefix of /usr/local in order to
# catch Debian's custom user site-packages directory.
libPaths.append(get_python_lib(prefix="/usr/local"))
for libPath in libPaths:
existingPath = os.path.abspath(os.path.join(libPath, "theory"))
if os.path.exists(existingPath):
# We note the need for the warning here, but present it after the
# command is run, so it's more likely to be seen.
overlayWarning = True
break
EXCLUDE_FROM_PACKAGES = ['theory.conf.project_template',
'theory.conf.app_template',
'theory.bin']
# Dynamically calculate the version based on theory.VERSION.
version = __import__('theory').getVersion()
setup(
name='Theory',
version=version,
url='http://www.theoryproject.com/',
author='Theory Software Foundation',
authorEmail='foundation@theoryproject.com',
description=('A high-level Python Web framework that encourages '
'rapid development and clean, pragmatic design.'),
license='BSD',
packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES),
includePackageData=True,
scripts=['theory/bin/theory_start.py'],
entryPoints={'consoleScripts': [
'theory-admin = theory.core.management:executeFromCommandLine',
]},
extrasRequire={
"bcrypt": ["bcrypt"],
},
zipSafe=False,
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: Web Environment',
'Framework :: Theory',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
'Topic :: Internet :: WWW/HTTP :: WSGI',
'Topic :: Software Development :: Libraries :: Application Frameworks',
'Topic :: Software Development :: Libraries :: Python Modules',
],
)
if overlayWarning:
sys.stderr.write("""
========
WARNING!
========
You have just installed Theory over top of an existing
installation, without removing it first. Because of this,
your install may now include extraneous files from a
previous version that have since been removed from
Theory. This is known to cause a variety of problems. You
should manually remove the
%(existingPath)s
directory and re-install Theory.
""" % {"existingPath": existingPath})