#python #pip
Вопрос:
Я только что выполнил следующую команду,
pip install --upgrade ipykernel
Тем не менее, я получил
Requirement already satisfied: ipykernel in ./anaconda3/lib/python3.8/site-packages (5.3.4) Collecting ipykernel Downloading ipykernel-6.5.0-py3-none-any.whl (125 kB) |████████████████████████████████| 125 kB 4.3 MB/s Collecting ipythonlt;8.0,gt;=7.23.1 Downloading ipython-7.29.0-py3-none-any.whl (790 kB) |████████████████████████████████| 790 kB 9.2 MB/s Collecting debugpylt;2.0,gt;=1.0.0 Downloading debugpy-1.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.9 MB) |████████████████████████████████| 1.9 MB 126.8 MB/s Collecting matplotlib-inlinelt;0.2.0,gt;=0.1.0 Downloading matplotlib_inline-0.1.3-py3-none-any.whl (8.2 kB) Collecting traitletslt;6.0,gt;=5.1.0 Downloading traitlets-5.1.1-py3-none-any.whl (102 kB) |████████████████████████████████| 102 kB 20.5 MB/s ... Requirement already satisfied: python-dateutilgt;=2.1 in ./anaconda3/lib/python3.8/site-packages (from jupyter-clientlt;8.0-gt;ipykernel) (2.8.1) Requirement already satisfied: ptyprocessgt;=0.5 in ./anaconda3/lib/python3.8/site-packages (from pexpectgt;4.3-gt;ipythonlt;8.0,gt;=7.23.1-gt;ipykernel) (0.7.0) Requirement already satisfied: wcwidth in ./anaconda3/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,lt;3.1.0,gt;=2.0.0-gt;ipythonlt;8.0,gt;=7.23.1-gt;ipykernel) (0.2.5) Requirement already satisfied: sixgt;=1.5 in ./anaconda3/lib/python3.8/site-packages (from python-dateutilgt;=2.1-gt;jupyter-clientlt;8.0-gt;ipykernel) (1.15.0) Installing collected packages: traitlets, matplotlib-inline, ipython, debugpy, ipykernel Attempting uninstall: traitlets Found existing installation: traitlets 5.0.5 Uninstalling traitlets-5.0.5: Successfully uninstalled traitlets-5.0.5 Attempting uninstall: ipython Found existing installation: ipython 7.22.0 Uninstalling ipython-7.22.0: Successfully uninstalled ipython-7.22.0 Attempting uninstall: ipykernel Found existing installation: ipykernel 5.3.4 Uninstalling ipykernel-5.3.4: Successfully uninstalled ipykernel-5.3.4 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. spyder 4.2.5 requires pyqt5lt;5.13, which is not installed. spyder 4.2.5 requires pyqtwebenginelt;5.13, which is not installed. conda-repo-cli 1.0.4 requires pathlib, which is not installed. Successfully installed debugpy-1.5.1 ipykernel-6.5.0 ipython-7.29.0 matplotlib-inline-0.1.3 traitlets-5.1.1
Я хотел бы отменить свою команду, так как некоторые из моих кодов внезапно перестают работать . Возможно ли это? Спасибо!
Похоже, установлено много пакетов.
Обновление, так что у меня на самом деле был свой environment.yaml
от моего предыдущего conda env export gt; environment.yaml
Если я это сделаю
conda env update --file environment.yaml --prune
Это не помогает мне вернуться к моим предыдущим версиям…. Могу ли я вернуть свою базовую среду обратно в точно такую же среду.yaml?
Комментарии:
1. Нечего возвращать. pip ничего не обновил из — за конфликта зависимостей
2. на самом деле сделаны некоторые обновления. Я не вывел полное сообщение. Похоже, он изменил некоторые зависимости.
3. В этом случае смотрите ответ casualsciences. Это немного облом, потому что вам придется вручную исправлять каждый pkg, но это приведет вас туда, куда вы хотите
Ответ №1:
Я не верю, что pip хранит историю установленных пакетов. Если при обновлении у вас был текстовый вывод с терминала, pip выводит список пакетов, которые будут установлены, какая версия у вас была и какой версией вы ее заменяете. Вы можете вручную вернуть каждый пакет, выполнив
pip uninstall lt;package_namegt; amp;amp; pip install lt;package_namegt;==lt;version_numbergt;
Правка: Основываясь на ваших правках, я предлагаю вам опубликовать этот вопрос с точки зрения вашей среды conda. Это совершенно другая система, хотя она и использует pip.
В качестве примечания, возможно, вам сойдет с рук просто бег
pip install traitlets==5.0.5 pip install ipykernel==5.3.4 pip install ipython==7.22.0
Комментарии:
1. Ах! Большое спасибо! ты спас мне день! Затем я пытаюсь придумать более общие методы на случай, если что-то подобное повторится в будущем
2. @hg628193hg Я знаю, что вы можете попросить пипа сохранить журналы с помощью опции —log (конечно, вы можете сделать то же самое вручную, используя
tee
), это тоже нужно учитывать.