mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 22:50:18 +00:00
support for editable
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
This commit is contained in:
@@ -29,7 +29,7 @@ def check_requires_python(requires_python):
|
||||
return True
|
||||
requires_python_specifier = specifiers.SpecifierSet(requires_python)
|
||||
# We only use major.minor.micro
|
||||
python_version = version.parse(os.environ['PIP_PYTHON_VERSION'])
|
||||
python_version = version.parse('{0}.{1}.{2}'.format(*sys.version_info[:3]))
|
||||
return python_version in requires_python_specifier
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ def check_dist_requires_python(dist):
|
||||
"%s requires Python '%s' but the running Python is %s" % (
|
||||
dist.project_name,
|
||||
requires_python,
|
||||
os.environ['PIP_PYTHON_VERSION']
|
||||
'{0}.{1}.{2}'.format(*sys.version_info[:3])
|
||||
)
|
||||
)
|
||||
except specifiers.InvalidSpecifier as e:
|
||||
|
||||
+29
-12
@@ -1,6 +1,7 @@
|
||||
"""Pipenv Resolveer.
|
||||
|
||||
Usage:
|
||||
resolver.py
|
||||
resolver.py <packages>... [--verbose] [--pre] [--clear]
|
||||
resolver.py (-h | --help)
|
||||
resolver.py --version
|
||||
@@ -17,34 +18,50 @@ import os
|
||||
import sys
|
||||
import json
|
||||
|
||||
os.environ['PIP_PYTHON_PATH'] = sys.executable
|
||||
|
||||
for _dir in ('vendor', 'patched', '..'):
|
||||
dirpath = os.path.sep.join([os.path.dirname(__file__), _dir])
|
||||
sys.path.insert(0, dirpath)
|
||||
|
||||
import pipenv.project
|
||||
import pipenv.utils
|
||||
import pipenv.core
|
||||
from pipenv.utils import *
|
||||
|
||||
from docopt import docopt
|
||||
args = docopt(__doc__)
|
||||
|
||||
is_verbose = args['--verbose']
|
||||
do_pre = args['--pre']
|
||||
do_clear = args['--clear']
|
||||
packages = args['<packages>']
|
||||
def cleanup_sysargv(argv):
|
||||
|
||||
project = pipenv.core.project
|
||||
new = []
|
||||
for arg in argv.copy():
|
||||
if arg.startswith('-e '):
|
||||
new.append(arg)
|
||||
del argv[argv.index(arg)]
|
||||
|
||||
os.environ['PIP_PYTHON_PATH'] = sys.executable
|
||||
return argv[1:], new
|
||||
|
||||
def which(*args, **kwargs):
|
||||
return sys.executable
|
||||
|
||||
def resolve(packages, pre=do_pre, sources=project.sources, verbose=is_verbose, clear=do_clear):
|
||||
def resolve(packages, pre, sources, verbose, clear):
|
||||
return pipenv.utils.resolve_deps(packages, which, project=project, pre=pre, sources=sources, clear=clear, verbose=verbose)
|
||||
|
||||
if __name__ == '__main__':
|
||||
results = resolve(packages)
|
||||
|
||||
argv, new_packages = cleanup_sysargv(sys.argv)
|
||||
from docopt import docopt
|
||||
|
||||
args = docopt(__doc__, argv=argv)
|
||||
|
||||
is_verbose = args['--verbose']
|
||||
do_pre = args['--pre']
|
||||
do_clear = args['--clear']
|
||||
packages = args['<packages>']
|
||||
|
||||
for package in new_packages:
|
||||
packages.append(package)
|
||||
|
||||
project = pipenv.core.project
|
||||
|
||||
results = resolve(packages, pre=do_pre, sources=project.sources, verbose=is_verbose, clear=do_clear)
|
||||
print('XYZZY')
|
||||
if results:
|
||||
print(json.dumps(results))
|
||||
|
||||
+5
-1
@@ -342,13 +342,17 @@ def venv_resolve_deps(deps, which, project, pre=False, verbose=False, clear=Fals
|
||||
import json
|
||||
|
||||
resolver = shellquote(resolver.__file__.rstrip('co'))
|
||||
cmd = '{0} {1} {2} {3} {4}'.format(which('python'), resolver, " ".join(deps), '--pre' if pre else '', '--verbose' if verbose else '')
|
||||
cmd = '{0} {1} {2} {3} {4}'.format(which('python'), resolver, " ".join([shellquote(dep) for dep in deps]), '--pre' if pre else '', '--verbose' if verbose else '')
|
||||
|
||||
# print(cmd)
|
||||
|
||||
c = delegator.run(cmd, block=True)
|
||||
print(c.out)
|
||||
|
||||
try:
|
||||
assert c.return_code == 0
|
||||
except AssertionError:
|
||||
print(c.err)
|
||||
return []
|
||||
|
||||
if verbose:
|
||||
|
||||
Reference in New Issue
Block a user