Merge pull request #1439 from fyfe/fix/1438

remove dependency on pip internals
This commit is contained in:
Antoine Nguyen
2018-03-22 15:50:45 +01:00
committed by GitHub
5 changed files with 19 additions and 21 deletions
+1
View File
@@ -1,2 +1,3 @@
django-bower
django-debug-toolbar
packaging
+7 -10
View File
@@ -22,13 +22,7 @@ from django.utils.six.moves import input
from modoboa.core.commands import Command
from modoboa.lib.api_client import ModoAPIClient
try:
import pip
except ImportError:
sys.stderr.write("Error: pip is required to install extensions.\n")
sys.exit(2)
from modoboa.lib.sysutils import exec_cmd
DBCONN_TPL = """
'{{ conn_name }}': {
@@ -226,9 +220,12 @@ class DeployCommand(Command):
extensions = [(extension, extension.replace("-", "_"))
for extension in extensions]
if not parsed_args.dont_install_extensions:
pip_args = (
["install"] + [extension[0] for extension in extensions])
pip.main(pip_args)
cmd = (
sys.executable +
" -m pip install " +
" ".join([extension[0] for extension in extensions])
)
exec_cmd(cmd, capture_output=False)
extra_settings = self.find_extra_settings(extensions)
extensions = [extension[1] for extension in extensions]
+1 -2
View File
@@ -11,13 +11,12 @@ coreapi==2.3.3
coreapi-cli==1.0.6
djangorestframework==3.7.3
argparse
# bcrypt requires libffi-dev
bcrypt==3.1.4
dnspython==1.15.0
feedparser==5.2.1
gevent==1.2.2
ipaddress
ipaddress; python_version < '3.3'
jsonfield==2.0.2
passlib==1.7.1
progressbar33==2.4
+9 -9
View File
@@ -13,21 +13,21 @@ from __future__ import unicode_literals
import io
from os import path
from pip.req import parse_requirements
from packaging.requirements import Requirement
from setuptools import find_packages, setup
def get_requirements(requirements_file):
"""Use pip to parse requirements file."""
"""Parse requirements file."""
requirements = []
if path.isfile(requirements_file):
for req in parse_requirements(requirements_file, session="hack"):
# check markers, such as
#
# rope_py3k ; python_version >= '3.0'
#
if req.match_markers():
requirements.append(str(req.req))
with io.open(requirements_file, encoding="utf-8") as fp:
for line in fp:
if line.startswith("#") or line.strip() == "":
continue
req = Requirement(line)
if req.marker is None or req.marker.evaluate():
requirements.append('%s%s' % (req.name, req.specifier))
return requirements
+1
View File
@@ -5,3 +5,4 @@ testfixtures==4.7.0
tox
psycopg2-binary>=2.7.4
mysqlclient>=1.3.3
packaging