Следуя инструкциям в файле readme PyCall.jl , я стараюсь использовать pipenv python при использовании PyCall для моего проекта julia (в его собственной среде).
В терминале я активировал среду python, используя pipenv shell
, а затем нашел путь к файлу версии pipenv python. PyCall уже добавлен в манифест в моей среде julia. В терминале, активированном источником, я запустил Джулию и ввел: ENV["PYCALL_JL_RUNTIME_PYTHON"] = pipenv python environment
, а затем приступил к запуску Pkg.build("PyCall")
, , который устанавливает conda . При импорте PyCall - using PyCall
- я получаю следующую ошибку:
ERROR: InitError: Incompatible `libpython` detected.
`libpython` for C:\Users\me\.virtualenvs\iap\Scripts\python.exe is:
C:\Users\me\.virtualenvs\iap\Scripts\python37.dll
`libpython` for C:\Users\me\.julia\conda\3\python.exe is:
C:\Users\me\.julia\conda\3\python36.dll
PyCall.jl only supports loading Python environment using the same `libpython`
Я пытался переустановить PyCall, но среда python lib python всегда выдает эту ошибку. Как я могу переопределить или иным образом обойти требование conda для базовой julia?
У меня такое ощущение, что зависимость PyCall от Conda вызывает некоторую проблему libpython
, и что вызов ENV["PYCALL_JL_RUNTIME_PYTHON"]
не отменяет переменная lib python правильно.