Problems to run PyCall in WSL2
I'm running a Ubuntu 22.04.3 LTS in WSL2 and I am facing the very same issue in two different machines. When I run a ruby script to test if PyCall is working, I've used the example provided in the README. I recieve the same error bellow
<internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in require': cannot load such file -- fiddle (LoadError)
from internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb:136:in require' from /home/rada/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pycall-1.5.1/lib/pycall/libpython/finder.rb:2:in <top (required)>'
from internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb:136:in require' from <internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in require'
from /home/rada/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pycall-1.5.1/lib/pycall/libpython.rb:3:in <module:LibPython>' from /home/rada/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pycall-1.5.1/lib/pycall/libpython.rb:2:in module:PyCall'
from /home/rada/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pycall-1.5.1/lib/pycall/libpython.rb:1:in <top (required)>' from <internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in require'
from internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb:136:in require' from /home/rada/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pycall-1.5.1/lib/pycall.rb:3:in module:PyCall'
from /home/rada/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pycall-1.5.1/lib/pycall.rb:1:in <top (required)>' from <internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:141:in require'
from internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb:141:in rescue in require' from <internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:135:in require'
from teste.rb:1:in <main>' <internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in require': cannot load such file -- pycall (LoadError)
from internal:/home/rada/.rbenv/versions/3.2.2/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb:136:in require' from teste.rb:1:in
I've faced the same issue in a Ubuntu Mate 1.26.0. Is there any specific way to run a script
Hmm, it's working for me on WSL2 ubuntu. Care to share a sample script so I can see if it's something about what you're running?
@Sapiosonic Please read the error message you've encountered. "cannot load such file -- fiddle (LoadError)" means the Ruby you used couldn't load fiddle standard library. I don't know why your Ruby cannot load fiddle. Maybe some dependencies are broken, or simply your Ruby doesn't have fiddle. But, it clearly isn't due to pycall.