pyjulia icon indicating copy to clipboard operation
pyjulia copied to clipboard

Failure to import Base, despite successful installation?

Open musm opened this issue 5 years ago • 8 comments

>>> julia.install("C:\\Tools\\Julia\\Julia-1.X\\bin\\julia.exe")
[ Info: Julia version info
Julia Version 1.5.1
Commit 697e782ab8 (2020-08-25 20:08 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
      Microsoft Windows [Version 10.0.19042.487]
  CPU: Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz:
              speed         user         nice          sys         idle          irq
       #1  1498 MHz   41158000            0     15210390    329030375      3472859  ticks
       #2  1498 MHz   26708937            0      5462625    353227015       495437  ticks
       #3  1498 MHz   77214687            0      8926296    299257593       384843  ticks
       #4  1498 MHz   45052328            0      5439453    334906796       241500  ticks
       #5  1498 MHz   83845171            0      8549390    293004000       394671  ticks
       #6  1498 MHz   64946656            0      5576187    314875718       266968  ticks
       #7  1498 MHz   37683171            0      6922703    340792687       395718  ticks
       #8  1498 MHz   28391359            0      7034921    349972281       216406  ticks

  Memory: 15.77505874633789 GB (3863.08203125 MB free)
  Uptime: 386158.0 sec
  Load Avg:  0.0  0.0  0.0
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, icelake-client)
Environment:
  JULIA_EDITOR = code.cmd
  JULIA_NUM_THREADS = 8
  CHOCOLATEYLASTPATHUPDATE = 132303130169196761
  CONDA_JL_HOME = C:\Tools\Anaconda3
  HOMEDRIVE = C:
  HOMEPATH = \Users\Mus
  MAGICK_HOME = C:\Program Files\darktable\lib\GraphicsMagick-1.3.35\modules-Q8\coders
  PATH = C:\Tools\Anaconda3;C:\Tools\Anaconda3\Library\mingw-w64\bin;C:\Tools\Anaconda3\Library\usr\bin;C:\Tools\Anaconda3\Library\bin;C:\Tools\Anaconda3\Scripts;C:\Tools\Anaconda3\bin;C:\Tools\Anaconda3\condabin;C:\Program Files\PowerShell\7;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\ProgramData\chocolatey\bin;C:\Program Files\OpenSSH-Win64;C:\Program Files\dotnet;C:\Program Files\Sublime Text 3;C:\Tools\TeXLive\2020\bin\win32;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\FileBot;C:\Program Files\Git\cmd;C:\Program Files\PowerShell\7;C:\Program Files\ImageMagick-7.0.10-Q16-HDRI;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\PDFtk Server\bin;C:\Program Files\MATLAB\R2020a\bin;C:\Program Files\nodejs;C:\Users\Mus\.cargo\bin;C:\Users\Mus\AppData\Local\Microsoft\WindowsApps;C:\Users\Mus\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Mus\AppData\Local\Pandoc;C:\Users\Mus\AppData\Local\SumatraPDF;C:\Users\Mus\AppData\Local\Programs\Microsoft VS Code Insiders\bin;C:\Program Files (x86)\GitHub CLI;C:\Users\Mus\AppData\Roaming\npm
  PSMODULEPATH = C:\Users\Mus\OneDrive\Documents\PowerShell\Modules;C:\Program Files\PowerShell\Modules;c:\program files\powershell\7\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
[ Info: Julia executable: C:\Tools\Julia\Julia-1.X\bin\julia.exe
[ Info: Trying to import PyCall...
┌ Info: PyCall is already installed and compatible with Python executable.
│
│ PyCall:
│     python: C:\Tools\Anaconda3\python.exe
│     libpython: C:\Tools\Anaconda3\python38.dll
│ Python:
│     python: C:\Tools\Anaconda3\python.exe
└     libpython: C:\Tools\Anaconda3\python38.dll
>>> from julia import Base
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
  File "C:\Tools\Anaconda3\lib\site-packages\julia\core.py", line 248, in load_module
    elif self.julia.isafunction(juliapath):
  File "C:\Tools\Anaconda3\lib\site-packages\julia\core.py", line 239, in julia
    self.__class__.julia = julia = Julia()
  File "C:\Tools\Anaconda3\lib\site-packages\julia\core.py", line 468, in __init__
    jlinfo = JuliaInfo.load(runtime)
  File "C:\Tools\Anaconda3\lib\site-packages\julia\juliainfo.py", line 68, in load
    proc = subprocess.Popen(
  File "C:\Tools\Anaconda3\lib\subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Tools\Anaconda3\lib\subprocess.py", line 1307, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
>>>

musm avatar Sep 04 '20 05:09 musm

It looks like julia is not on your path. If you need to explicitly specify julia executable as in julia.install("C:\\Tools\\Julia\\Julia-1.X\\bin\\julia.exe"), you need to run

from julia import Julia
julia.Julia(runtime="C:\\Tools\\Julia\\Julia-1.X\\bin\\julia.exe")

before from julia import Base.

See: https://pyjulia.readthedocs.io/en/latest/usage.html#low-level-interface

tkf avatar Sep 04 '20 18:09 tkf

I'm getting image

musm avatar Sep 11 '20 15:09 musm

For some reason I need to run

>>> jl = Julia(runtime="C:\\Tools\\Julia\\Julia-1.X\\bin\\julia.exe")

twice in order for it to 'work'.

musm avatar Sep 11 '20 15:09 musm

Also I think the docs need to say

jl = Julia(runtime="custom_julia")

musm avatar Sep 11 '20 15:09 musm

Ah, yes. That's a good point.

I don't understand why calling Julia twice would fix anything, though.

tkf avatar Sep 11 '20 16:09 tkf

There's indeed some problems here:

image

musm avatar Sep 11 '20 16:09 musm

Also it would be nice if the runtime value was cached upon installation time, so specifying the runtime would not be necessary for Julia installations not in path (as a principle I try to avoid anything much to path to prevent collisions / unintended side effects)

musm avatar Sep 11 '20 16:09 musm

I don't understand why calling Julia twice would fix anything, though.

Just wanted to report that even with non-custom Julia, on Windows for me from julia import Main fails the first time, but if I run it again it works.

zmoon avatar Mar 01 '21 22:03 zmoon