Я работал над личным проектом машинного обучения, для которого я использовал среду Anaconda с python 2.7 (да, я знаю) из-за некоторых зависимостей.
Я пытался обновить библиотеку sklearn и случайно обновил Python до версии 3.6. Я собирался удалить всю свою среду и воссоздать ее снова из файла YAML (слава богу, он у меня был), но потом я сослался на документацию conda, и вот она, волшебная команда, которая спасла меня от всех этих неприятностей.
# List the history of each change to the current environment conda list --revisions
# Restore environment to a previous revision conda install --revision 2
Лучше всего объяснить это на небольшом примере. Если вы запустите conda list –revision
, вы получите следующий результат:
2017-04-18 23:29:36 (rev 1)
requests {2.12.3 -> 2.13.0}
2018-05-30 19:41:47 (rev 2)
mkl {11.3.3 -> 2018.0.2}
numpy {1.11.2 -> 1.14.3}
pip {9.0.1 -> 10.0.1}
python {2.7.12 -> 3.6.5}
scikit-learn {0.17.1 -> 0.19.1}
scipy {0.18.1 -> 1.1.0}
setuptools {27.2.0 -> 39.1.0}
wheel {0.29.0 -> 0.31.1}
+blas-1.0
+certifi-2018.4.16
+icc_rt-2017.0.4
+intel-openmp-2018.0.0
+mkl_fft-1.0.1
+mkl_random-1.0.1
+numpy-base-1.14.3
+vc-14
+vs2015_runtime-14.0.25123
+wincertstore-0.2
Как вы можете видеть в выходных данных, в нем перечислены все ревизии вместе с обновленными пакетами (старая версия - ›новая версия) и вновь добавленными пакетами (тот, который отмечен символом +). Итак, теперь вы знаете, какие изменения были внесены в каждую ревизию, вы можете безопасно вернуться к предыдущим версиям вашей среды, используя conda install –revision revision number
.
В моем случае я вернулся к версии 1, поэтому после отката, когда я снова запускаю conda list –revisions
, я могу видеть изменения, сделанные при откате.
2018-05-30 20:08:46 (rev 3)
mkl {2018.0.2 -> 11.3.3}
numpy {1.14.3 -> 1.11.2}
pip {10.0.1 -> 9.0.1}
python {3.6.5 -> 2.7.12}
scikit-learn {0.19.1 -> 0.17.1}
scipy {1.1.0 -> 0.18.1}
setuptools {39.1.0 -> 27.2.0}
wheel {0.31.1 -> 0.29.0}
-blas-1.0
-certifi-2018.4.16
-icc_rt-2017.0.4
-intel-openmp-2018.0.0
-mkl_fft-1.0.1
-mkl_random-1.0.1
-numpy-base-1.14.3
-vc-14
-vs2015_runtime-14.0.25123
-wincertstore-0.2
Вы можете видеть, что изменения в редакции 3 - это просто обратные изменения в редакции 2.
Это пригодится, если вы случайно испортите свою среду.
Больше информации:
Руководство пользователя Conda: https://conda.io/docs/user-guide/tasks/manage-environments.html
Шпаргалка по Conda: https://conda.io/docs/_downloads/conda-cheatsheet.pdf
Если у вас есть предложения, дайте мне знать в твиттере: @Sriramjaju
Намасте!