Как исправить сломанный пункт в Anaconda, не удаляя зависимые пакеты? - PullRequest
0 голосов
/ 15 октября 2018

Когда я пытаюсь установить что-то с pip, я получаю сообщение

You are using pip version 18.0, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Хотя, следуя советам, я получаю:

Сбор пипса Использованиеcached https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl Исключение: трассировка (последний последний вызов): файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/ init .py ", строка 2862, в _dep_map возвращает self. Файл dep_map" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources / __ init .py ", строка 2669, в getattr повышение AttributeError (attr) AttributeError: _DistInfoDistribution__dep_map

Во время обработки вышеупомянутого исключения произошло еще одно исключение:

Traceback (последний вызов был последним): файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", строка 93, в init req = REQUIREMENT.parseString (require_string) Файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendили / pyparsing.py ", строка 1632, в файле parseString повысить файл exc" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py ", строка 1622, в parseString loc, tokens = self._parse (instring, 0) Файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", строка1379, в _parseNoCache loc, файл токенов = self.parseImpl (instring, preloc, doActions) "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", строка 3395, в файле parseImpl loc, exprtokens = e._parse (instring, loc, doActions)" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py ", строка 1383, в _parseNoCache loc, файл токенов = self.parseImpl (instring, preloc, doActions)" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pyparsing.py ", строка 3183, в parseImpl поднять ParseException (instring, loc, self.errmsg, self) pip._vendor.pyparsing.ParseException: Ожидаемый stringEnd (на символ 33), (строка: 1, столбец: 34)

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний вызов был последним): файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages / pip / _vendor / pkg_resources / init .py ", строка 2942, в init super (требование, self). init (demand_string) файл"/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", строка 97, в init require_string [e.loc: e.loc + 8])) pip._vendor.packaging.requirements.InvalidRequirement: недопустимое требование, ошибка разбора в "";extra '"

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (последний вызов был последним): файл" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/basecommand.py ", строка 228, в основном состоянии = self.run (параметры, аргументы) Файл" /home/.../miniconda3/envs/py3/lib/python3.6 / site-packages / pip / _internal / commands / install.py ", строка 318, в запуске файла self._warn_about_conflicts (to_install)" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_internal/commands/install.py ", строка 442, в _warn_about_conflicts package_set, _dep_info = check_install_conflicts (to_install) Файл" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages / pip / _internal / operations / check.py ", строка 89, в состоянии check_install_conflicts = create_package_set_from_installed () Файл" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip / _internal / operations / check.py ", строка 39, в create_package_set_from_installed retval [имя] = PackageDetails (dist.version, dist.requires ()) Файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py",строка 2613, требуетФайл dm = self._dep_map "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/init.py", строка 2864,в _dep_map self. dep_map = self._compute_dependencies () Файл "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init.py ", строка 2874, в файле _compute_dependencies reqs.extend (parse_requirements (req))" /home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/ init .py ", строка 2935, в файле parse_requirements yield Требование (строка)" "/home/.../miniconda3/envs/py3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/ init .py ", строка 2944, в init повышение RequirementParseError (str (e)) pip._vendor.pkg_resources.RequirementParseError: недопустимое требование, ошибка синтаксического анализа при" '; extra' "Вы используете версию 18.0 pip, однако доступна версия 18.1.Вы должны рассмотреть возможность обновления с помощью команды 'pip install --upgrade pip'.

Я пробовал conda install pip, но это не помогло.когда я пытаюсь conda remove pip, он хочет удалить все зависимые пакеты, что я не хочу делать.Любая идея, как это исправить, не портя мою среду?

1 Ответ

0 голосов
/ 16 октября 2018

Эта конкретная проблема была вызвана testpath.Я удалил этот пакет с pip remove testpath, и тогда я мог обновить pip без ошибок.К сожалению, сообщение об ошибке не указало мне там.Я нашел это решение на странице проблемы GitHub.

https://github.com/conda-forge/testpath-feedstock/issues/7

...