This commit is contained in:
2018-07-03 09:04:42 -04:00
parent 2addee4fd6
commit 77110ed5da
2 changed files with 66 additions and 59 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
2018.7.1
2018.7.1:
- All calls to `pipenv shell` are now implemented from the ground up using `shellingham`,
a custom library which was purpose built to handle edge cases and shell detection.
- Added support for python 3.7 via a few small compatibility / bugfixes.
@@ -20,7 +20,7 @@
- Pipenv will now always use `pathlib2` for `Path` based filesystem interactions by
default on `python<3.5`.
- Fixed a bug which prevented passing proxy PyPI indexes set with `--pypi-mirror` from
being passed to pip during virtualenv creation, which could cause the creation to
being passed to pip during virtualenv creation, which could cause the creation to
freeze in some cases.
- Using the `python -m pipenv.help` command will now use proper encoding for the host
filesystem to avoid encoding issues.
@@ -40,7 +40,7 @@
- Updated `requirementslib` to version `1.0.9`
- Unraveled a lot of old, unnecessary patches to `pip-tools` which were causing
non-deterministic resolution errors.
2018.6.25
2018.6.25:
- Added error handling functionality to properly cope with single-digit `Requires-Python`
metatdata with no specifiers.
- Pipenv will now generate hashes much more quickly by resolving them in a single pass
@@ -92,7 +92,7 @@
- Fixed a bug with parsing and grouping old-style setup.py extras during resolution.
- Fixed a bug which caused `--system` to incorrectly abort when users were in a virtualenv.
- Pipenv clean will now ignore comments when cleaning the environment.
- Fixed a bug which caused `--deploy --system` to inadvertently create a virtualenv
- Fixed a bug which caused `--deploy --system` to inadvertently create a virtualenv
before failing.
- Errors when running `pipenv graph` running against empty or non-existent environments.
will now contain helpful information.
+62 -55
View File
@@ -9,24 +9,24 @@ from setuptools import find_packages, setup, Command
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
long_description = '\n' + f.read()
with codecs.open(os.path.join(here, "README.rst"), encoding="utf-8") as f:
long_description = "\n" + f.read()
about = {}
with open(os.path.join(here, "pipenv", "__version__.py")) as f:
exec (f.read(), about)
exec(f.read(), about)
if sys.argv[-1] == "publish":
os.system("python setup.py sdist bdist_wheel upload")
sys.exit()
required = [
'pip>=9.0.1',
'certifi',
'setuptools>=36.2.1',
'virtualenv-clone>=0.2.5',
'virtualenv',
"pip>=9.0.1",
"certifi",
"setuptools>=36.2.1",
"virtualenv-clone>=0.2.5",
"virtualenv",
'requests[security];python_version<"2.7"',
'ordereddict;python_version<"2.7"',
]
@@ -35,13 +35,14 @@ required = [
# https://pypi.python.org/pypi/stdeb/0.8.5#quickstart-2-just-tell-me-the-fastest-way-to-make-a-deb
class DebCommand(Command):
"""Support for setup.py deb"""
description = 'Build and publish the .deb package.'
description = "Build and publish the .deb package."
user_options = []
@staticmethod
def status(s):
"""Prints things in bold."""
print('\033[1m{0}\033[0m'.format(s))
print("\033[1m{0}\033[0m".format(s))
def initialize_options(self):
pass
@@ -51,28 +52,29 @@ class DebCommand(Command):
def run(self):
try:
self.status('Removing previous builds…')
rmtree(os.path.join(here, 'deb_dist'))
self.status("Removing previous builds…")
rmtree(os.path.join(here, "deb_dist"))
except FileNotFoundError:
pass
self.status(u'Creating debian mainfest…')
self.status(u"Creating debian mainfest…")
os.system(
'python setup.py --command-packages=stdeb.command sdist_dsc -z artful --package3=pipenv --depends3=python3-virtualenv-clone'
"python setup.py --command-packages=stdeb.command sdist_dsc -z artful --package3=pipenv --depends3=python3-virtualenv-clone"
)
self.status(u'Building .deb…')
os.chdir('deb_dist/pipenv-{0}'.format(about['__version__']))
os.system('dpkg-buildpackage -rfakeroot -uc -us')
self.status(u"Building .deb…")
os.chdir("deb_dist/pipenv-{0}".format(about["__version__"]))
os.system("dpkg-buildpackage -rfakeroot -uc -us")
class UploadCommand(Command):
"""Support setup.py publish."""
description = 'Build and publish the package.'
description = "Build and publish the package."
user_options = []
@staticmethod
def status(s):
"""Prints things in bold."""
print('\033[1m{0}\033[0m'.format(s))
print("\033[1m{0}\033[0m".format(s))
def initialize_options(self):
pass
@@ -82,63 +84,68 @@ class UploadCommand(Command):
def run(self):
try:
self.status('Removing previous builds…')
rmtree(os.path.join(here, 'dist'))
self.status("Removing previous builds…")
rmtree(os.path.join(here, "dist"))
except FileNotFoundError:
pass
self.status('Building Source distribution…')
os.system('{0} setup.py sdist bdist_wheel'.format(sys.executable))
self.status('Uploading the package to PyPi via Twine…')
os.system('twine upload dist/*')
self.status('Pushing git tags…')
os.system('git tag v{0}'.format(about['__version__']))
os.system('git push --tags')
self.status("Building Source distribution…")
os.system("{0} setup.py sdist bdist_wheel".format(sys.executable))
self.status("Uploading the package to PyPi via Twine…")
os.system("twine upload dist/*")
self.status("Pushing git tags…")
os.system("git tag v{0}".format(about["__version__"]))
os.system("git push --tags")
sys.exit()
setup(
name='pipenv',
version=about['__version__'],
description='Python Development Workflow for Humans.',
name="pipenv",
version=about["__version__"],
description="Python Development Workflow for Humans.",
long_description=long_description,
author='Kenneth Reitz',
author_email='me@kennethreitz.org',
url='https://github.com/pypa/pipenv',
packages=find_packages(exclude=['tests', 'tasks']),
author="Kenneth Reitz",
author_email="me@kennethreitz.org",
url="https://github.com/pypa/pipenv",
packages=find_packages(exclude=["tests", "tasks"]),
entry_points={
'console_scripts': [
'pipenv=pipenv:cli',
'pewtwo=pipenv.patched.pew.pew:pew',
'pipenv-resolver=pipenv.resolver:main',
"console_scripts": [
"pipenv=pipenv:cli",
"pewtwo=pipenv.patched.pew.pew:pew",
"pipenv-resolver=pipenv.resolver:main",
]
},
package_data={
'': ['LICENSE', 'NOTICES'],
"": ["LICENSE", "NOTICES"],
"pipenv.vendor.requests": ["*.pem"],
"pipenv.vendor.certifi": ["*.pem"],
"pipenv.vendor.click_completion": ["*.j2"],
"pipenv.patched.notpip._vendor.certifi": ["*.pem"],
"pipenv.patched.notpip._vendor.requests": ["*.pem"],
"pipenv.patched.notpip._vendor.distlib._backport": ["sysconfig.cfg"],
"pipenv.patched.notpip._vendor.distlib": ["t32.exe", "t64.exe", "w32.exe", "w64.exe"],
"pipenv.patched.notpip._vendor.distlib": [
"t32.exe",
"t64.exe",
"w32.exe",
"w64.exe",
],
},
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
setup_requires=['invoke', 'parver'],
python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*",
setup_requires=["invoke", "parver"],
install_requires=required,
extras_require={},
include_package_data=True,
license='MIT',
license="MIT",
classifiers=[
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
cmdclass={'upload': UploadCommand, 'deb': DebCommand},
cmdclass={"upload": UploadCommand, "deb": DebCommand},
)