pip 8.1.1は、「UndefinedEnvironmentName: 'extra'は評価環境に存在しません」というエラーで失敗します。 extras_require(django-constance [database])を使用するパッケージをインストールしようとしているとき
pip 8.1.0にダウングレードすると、問題が解決します。
クリーンなvirtualenvで、setuptools == 21.0.0を使用して、実行しています
pip install 'django-constance[database]==1.1.2'
これは次のように失敗します:
Collecting django-constance[database]==1.1.2
Downloading django_constance-1.1.2-py2.py3-none-any.whl
Exception:
Traceback (most recent call last):
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/commands/install.py", line 328, in run
wb.build(autobuilding=True)
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/wheel.py", line 748, in build
self.requirement_set.prepare_files(self.finder)
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/req/req_set.py", line 360, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/req/req_set.py", line 448, in _prepare_file
req_to_install, finder)
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/req/req_set.py", line 387, in _check_skip_installed
req_to_install.check_if_exists()
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/req/req_install.py", line 997, in check_if_exists
self.satisfied_by = pkg_resources.get_distribution(self.req)
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 535, in get_distribution
dist = get_provider(dist)
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 415, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 943, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 808, in resolve
if not req_extras.markers_pass(req):
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 993, in markers_pass
return not req.marker or any(extra_evals) or req.marker.evaluate()
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/markers.py", line 278, in evaluate
return _evaluate_markers(self._markers, current_environment)
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/markers.py", line 203, in _evaluate_markers
lhs_value = _get_env(environment, lhs.value)
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/markers.py", line 185, in _get_env
"{0!r} does not exist in evaluation environment.".format(name)
UndefinedEnvironmentName: 'extra' does not exist in evaluation environment.
バージョン指定子なしで実行すると、別のエラーが発生します。
pip install 'django-constance[database]'
与える
Exception:
Traceback (most recent call last):
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/commands/install.py", line 305, in run
wheel_cache
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/basecommand.py", line 270, in populate_requirement_set
wheel_cache=wheel_cache
File "/home/johnc/.virtualenvs/pip_8_1_1/local/lib/python2.7/site-packages/pip/req/req_install.py", line 234, in from_line
extras).extras
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2833, in parse
req, = parse_requirements(s)
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2781, in parse_requirements
yield Requirement(line)
File "/home/johnc/.virtualenvs/pip_8_1_1/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2790, in __init__
raise RequirementParseError(str(e))
RequirementParseError: Invalid requirement, parse error at "'__placeh'"
参照のためのジャンゴ-スタンスのsetup.py: https://github.com/jazzband/django-constance/blob/master/setup.py
うーん、バグではないかもしれません-pipを再インストールします
pip install -U pip --force-reinstall
私のためにこれを修正したようです。
これは私のためにそれを修正しません。
このスレッドは、閉じられた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。
最も参考になるコメント
うーん、バグではないかもしれません-pipを再インストールします
私のためにこれを修正したようです。