PyCall не может найти scipy в Юлии

В настоящее время я переписываю кучу кода Matlab в julia. Эти коды включают в себя множество математических функций и, в частности, функции интерполяции для трехмерной сетки. С этим легко справиться в Matlab: все, что мне нужно сделать, это использовать функцию interp3. Как только я не нашел простого способа сделать подобное в Julia, я пытаюсь использовать некоторые функции Scipy через PyCall. Теперь проблема: я уже установил PyCall, изменил ENV[PYTHON] на путь к моей собственной установленной анаконде. Не знаю, что, и я тщательно искал решения, я все еще получаю следующее сообщение об ошибке:

julia> pyimport(«scipy») ERROR: PyError (PyImport_ImportModule The Python package scipy could not be found by pyimport. Usually this means that you did not install scipy in the Python version being used by PyCall. PyCall is currently configured to use the Python version at: /usr/bin/python3 and you should use whatever mechanism you usually use (apt-get, pip, conda, etcetera) to install the Python package containing the scipy module. One alternative is to re-configure PyCall to use a different Python version on your system: set ENV[«PYTHON»] to the path/name of the python executable you want to use, run Pkg.build(«PyCall»), and re-launch Julia. Another alternative is to configure PyCall to use a Julia-specific Python distribution via the Conda.jl package (which installs a private Anaconda Python distribution), which has the advantage that packages can be installed and kept up-to-date via Julia. As explained in the PyCall documentation, set ENV[«PYTHON»]=»», run Pkg.build(«PyCall»), and re-launch Julia. Then, To install the scipy module, you can use `pyimport_conda(«scipy», PKG)`, where PKG is the Anaconda package the contains the module scipy, or alternatively you can use the Conda package directly (via `using Conda` followed by `Conda.add` etcetera). ) <class ‘ModuleNotFoundError’> ModuleNotFoundError(«No module named ‘scipy'»,) Stacktrace: [1] pyimport(::String) at /home/gabriel/.julia/packages/PyCall/zqDXB/src/PyCall.jl:536 [2] top-level scope at none:0

Кроме того, все, что я пробовал, я пробовал как на Windows 10, так и на Linux. Я больше не знаю, что делать! Буду очень признателен за помощь! Заранее спасибо!

Является ли / usr / bin / python3 путем к вашему питону conda? Я подозреваю, что вы используете системную установку python по умолчанию, вам следует установить ENV [PYTHON] на значение конкретного conda env, в которое вы установили SciPy. Другой вариант — установить SciPy для общесистемного Python с помощью pip.   —  person Gabriel Neves    schedule 01.07.2020

Источник: ledsshop.ru

Стиль жизни - Здоровье!