Как использовать пакеты из предыдущей установки Miniconda в Julia?

#python #matplotlib #julia #conda #miniconda

Вопрос:

Я занимаюсь физикой и не очень разбираюсь в компьютерных вещах, так что извините, если этот вопрос довольно глупый.

Я только что установил Джулию. Я уже давно использую Python для анализа данных, и у меня установлены различные пакеты с использованием Miniconda, включая matplotlib. Из-за этого я установил IJulia и PyPlot в Джулию. Когда я открыл ноутбук и вошел using PyPlot , мне показалось, что он устанавливает несколько пакетов, которые у меня уже были. На выходе были напечатаны такие вещи, как:

 The following NEW packages will be INSTALLED:

  cycler             pkgs/main/win-64::cycler-0.10.0-py38_0
  icu                pkgs/main/win-64::icu-58.2-ha925a31_3
  jpeg               pkgs/main/win-64::jpeg-9b-hb83a4c4_2
  kiwisolver         pkgs/main/win-64::kiwisolver-1.3.1-py38hd77b12b_0
  matplotlib         pkgs/main/win-64::matplotlib-3.3.4-py38haa95532_0
  matplotlib-base    pkgs/main/win-64::matplotlib-base-3.3.4-py38h49ac443_0
  pillow             pkgs/main/win-64::pillow-8.1.2-py38h4fa10fc_0
  pyqt               pkgs/main/win-64::pyqt-5.9.2-py38ha925a31_4
  qt                 pkgs/main/win-64::qt-5.9.7-vc14h73c81de_0
  tk                 pkgs/main/win-64::tk-8.6.10-he774522_0
  tornado            pkgs/main/win-64::tornado-6.1-py38h2bbff1b_0
 

Когда я зашел в свою папку .julia, я нашел папку «conda», которая казалась точной копией моей папки Miniconda, поэтому я удалил ее.

Затем я нашел Conda.jl и подумал, что сначала мне следует установить это в Julia. После этого я подумал, что смогу сразу же увидеть свои среды Conda (у меня есть только одна, домашняя среда), войдя Conda.list() , но консоль начала говорить

 [ Info: Downloading miniconda installer ...
[ Info: Installing miniconda ...
 

Я прервал это на клавиатуре. Когда я попытался run('conda create -n conda_jl python conda') , я получил сообщение «ОШИБКА: ошибка ввода-вывода: не удалось создать `conda create-n conda_jl python conda`: нет такого файла или каталога (ENOENT)». Так что на данный момент я не уверен, что мне следует делать.

Я полагаю, что мой непосредственный вопрос заключается в том, есть ли способ заставить PyPlot (Джулию) вызвать пакет matplotlib, который у меня уже есть из моей предыдущей установки Miniconda, и не устанавливать ничего нового? Вся помощь была бы очень признательна! Спасибо!

РЕДАКТИРОВАТЬ: Я понял, что еще не удалил свою папку conda в папке .julia.

Ответ №1:

По стандарту Julia использует собственную установку Python, которая по умолчанию находится в ~/.julia/conda/3 папке «Где ~ находится ваша домашняя папка».

Чтобы изменить это, вам нужно сказать Джулии, чтобы она использовала другую установку Python:

 using Pkg
ENV["PYTHON"]="/path/to/python/binary"
Pkg.build("PyCall")
 

В принципе, использовать встроенную Джулию всегда проще, поэтому, если у вас возникнут проблемы с запуском такой конфигурации, вы всегда можете вернуться:

 using Pkg
ENV["PYTHON"]=""
Pkg.build("PyCall")
 

Комментарии:

1. Спасибо вам за ваш ответ! Просто быстрый вопрос, должен ли я делать это каждый раз для каждой программы, в которой я хочу использовать свою предыдущую установку Python?

2. Вы делаете это, чтобы изменить конфигурацию Julia PyCall. Нет необходимости делать это более одного раза, пока вы придерживаетесь одного и того же JULIA_DEPOT_PATH (глухое место-это есть .julia )