[Python-modules-commits] [python-pip] 05/14: Disable auto-generation of console scripts.
Barry Warsaw
barry at moszumanska.debian.org
Fri Jan 29 15:52:08 UTC 2016
This is an automated email from the git hooks/post-receive script.
barry pushed a commit to branch dirtbike
in repository python-pip.
commit a93e5cf364fe501beaaf6bfcd417fa5f0cce8431
Author: Barry Warsaw <barry at python.org>
Date: Wed Jan 27 10:15:23 2016 -0500
Disable auto-generation of console scripts.
We'll disable these, and remove the sys.path hacking from
pip/__init__.py because we need to put the distro wheels on sys.path
earlier than here. For this, we'll generate our own /usr/bin/pip*
scripts from our own templates that include the necessary early sys.path
hacking. The main reason for this is the need to use the pkg_resources
wheel.
Patch-Name: disable-console-scripts.patch
---
pip/__init__.py | 63 ---------------------------------------------------------
setup.py | 16 ++++++++-------
2 files changed, 9 insertions(+), 70 deletions(-)
diff --git a/pip/__init__.py b/pip/__init__.py
index f48172b..114bd59 100755
--- a/pip/__init__.py
+++ b/pip/__init__.py
@@ -8,69 +8,6 @@ import warnings
import sys
import re
-import errno
-
-# Upstream pip vendorizes a bunch of its dependencies. Debian de-vendorizes
-# (unbundles) these dependencies to be compliant with Debian policy. Instead,
-# these dependencies are packaged as wheel (.whl) files in a known location.
-# When pip itself executes, we have to arrange for these wheels to show up
-# earlier on sys.path than any other version of these packages, otherwise
-# things can break. See for example Bug #744145.
-#
-# The location of the wheels differs depending on whether we're inside or
-# outside a virtual environment, regardless of whether that venv was created
-# with virtualenv or pyvenv. The first thing we have to do is figure out if
-# we're inside or outside a venv, then search the appropriate wheel directory
-# and add all the .whls found there to the front of sys.path. As per Debian
-# Python Policy, only the wheels needed to support this de-vendorization will
-# be present, so it's safe to add them all.
-#
-# venv determination is a bit of a black art, but this algorithm should work
-# in both Python 2 (virtualenv-only) and Python 3 (pyvenv and virtualenv). -
-# updated by barry at debian.org 2015-02-25
-
-base_prefix = getattr(sys, 'base_prefix', None)
-real_prefix = getattr(sys, 'real_prefix', None)
-if base_prefix is None:
- # Python 2 has no base_prefix at all. It also has no pyvenv. Fall back
- # to checking real_prefix.
- if real_prefix is None:
- # We are not in a venv.
- in_venv = False
- else:
- # We're in a Python 2 virtualenv created venv, but real_prefix should
- # never be the same as sys.prefix.
- assert sys.prefix != real_prefix
- in_venv = True
-elif sys.prefix != base_prefix:
- # We're in a Python 3, pyvenv created venv.
- in_venv = True
-elif real_prefix is None:
- # We're in Python 3, outside a venv, but base better equal prefix.
- assert sys.prefix == base_prefix
- in_venv = False
-else:
- # We're in a Python 3, virtualenv created venv.
- assert real_prefix != sys.prefix
- in_venv = True
-
-
-if in_venv:
- wheel_dir = os.path.join(sys.prefix, 'lib', 'python-wheels')
-else:
- wheel_dir = '/usr/share/python-wheels'
-
-# We'll add all the wheels we find to the front of sys.path so that they're
-# found first, even if the same dependencies are available in site-packages.
-try:
- for filename in os.listdir(wheel_dir):
- if os.path.splitext(filename)[1] == '.whl':
- sys.path.insert(0, os.path.join(wheel_dir, filename))
-# FileNotFoundError doesn't exist in Python 2, but ignore it anyway.
-except OSError as error:
- if error.errno != errno.ENOENT:
- raise
-
from pip.exceptions import InstallationError, CommandError, PipError
from pip.utils import get_installed_distributions, get_prog
diff --git a/setup.py b/setup.py
index 60843e5..cb0eab6 100644
--- a/setup.py
+++ b/setup.py
@@ -81,13 +81,15 @@ setup(
"pip._vendor.distlib._backport": ["sysconfig.cfg"],
"pip._vendor.distlib": ["t32.exe", "t64.exe", "w32.exe", "w64.exe"],
},
- entry_points={
- "console_scripts": [
- "pip=pip:main",
- "pip%s=pip:main" % sys.version[:1],
- "pip%s=pip:main" % sys.version[:3],
- ],
- },
+ # In Debian, we'll generate our own console scripts to properly handle
+ # installing wheels early enough on sys.path.
+ ## entry_points={
+ ## "console_scripts": [
+ ## "pip=pip:main",
+ ## "pip%s=pip:main" % sys.version[:1],
+ ## "pip%s=pip:main" % sys.version[:3],
+ ## ],
+ ## },
tests_require=tests_require,
zip_safe=False,
extras_require={
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-pip.git
More information about the Python-modules-commits
mailing list