Closed babelfish closed 1 year ago
Fish shell user. Got the same issue. Tried creating a Fish function to forward arguments to python
to python3
but didn't work. Checked the directory created under .cache/nvim
and saw that the hererocks.py
was being downloaded. Executed python3
against the arguments normally passed to python
within the source script luarocks.lua
and successfully compiled and installed LuaJit. Restarted nvim
and ran PackerSync
, everything now worked and I was able to install the moonscript
rock as a dependency for nvim-moonmaker
Also, setting the python_cmd
to python3
doesn't solve, but cd'ing to the hererocks dir Packer creates and calling python3 hererocks_file.py
does work
On MacOS, I had to do:
ln -s /usr/local/bin/python3 /usr/local/bin/python
Thank you for posting this! I was going crazy trying to figure out why this was hanging on my machine
ln -s /usr/local/bin/python3 /usr/local/bin/python
If installed via homebrew
sudo ln -s /opt/homebrew/bin/python3 /usr/local/bin/python
Edit: This is for Apple Silicon macs.
Better do, which python3
, note where it is installed and symlink to any directory in path.
For anyone coming upon this later. I noticed that in my PATH I had the Python directory but the exe was python.exe. The problem is that hererocks is expecting to find python3 or python2. To fix this, go into your python installation copy/paste the python.exe then rename it to python3 if you have 3.x as the first in your PATH or python2 if you have 2.x as the first in your PATH.
This is a problem with Python itself and there are more than a few software packages that have this problem because depending upon your environment and the tools you use to manage your Python installation, you could have a simple python.exe or the python3.exe and python2.exe
There is really no good reason why having multiple Python versions should be this difficult a problem to solve across platforms and environments. If there is an industry standard or python official standard for this, it seems it is still not simple or obvious what needs to be followed.
nvim --version
: 0.7.0git --version
: 2.25.1Steps to reproduce
In an installation that does not already have hererocks installed, attempt to install any rocks package without the
python
command available. I have both python 2 and 3 installed, but only available aspython2
andpython3
.Actual behaviour
Packer hangs indefinitely on "installing hererocks" with no log messages. I was only able to figure out what was going on by reading the packer source and manually trying to run the hererocks command it was trying to run.
Expected behaviour
The installation should fail and provide an error message.
packer files
Plugin specification file(s)
Simplified version with only the relevant info: ```lua local packer = require('packer') local use, use_rocks = packer.use, packer.use_rocks packer.reset() packer.init{ log = { level = 'trace' }, --luarocks = { python_cmd = 'python3' } } -- Lua packages use_rocks 'luafilesystem' ```packer log file
``` [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963620372526e+14] ...config/nvim/pack/packer/start/packer.nvim/lua/packer.lua:528: packer.sync: requiring modules [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963620561182e+14] ...config/nvim/pack/packer/start/packer.nvim/lua/packer.lua:324: Processing plugin specs [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.496362106793e+14] ...ack/packer/start/packer.nvim/lua/packer/plugin_utils.lua:176: Updating FS state [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963637904433e+14] ...nvim/pack/packer/start/packer.nvim/lua/packer/update.lua:56: Fixing plugin types [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963637911972e+14] ...nvim/pack/packer/start/packer.nvim/lua/packer/update.lua:67: Done fixing plugin types [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963637915653e+14] .../nvim/pack/packer/start/packer.nvim/lua/packer/clean.lua:22: Starting clean [INFO Sun 24 Apr 2022 07:04:22 PM EDT 4.4963637936673e+14] .../nvim/pack/packer/start/packer.nvim/lua/packer/clean.lua:82: Already clean! [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963637957855e+14] ...config/nvim/pack/packer/start/packer.nvim/lua/packer.lua:558: Gathering install tasks [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963637962773e+14] ...config/nvim/pack/packer/start/packer.nvim/lua/packer.lua:561: Gathering update tasks [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963641781606e+14] ...config/nvim/pack/packer/start/packer.nvim/lua/packer.lua:565: Gathering luarocks tasks [DEBUG Sun 24 Apr 2022 07:04:22 PM EDT 4.4963641787976e+14] ...config/nvim/pack/packer/start/packer.nvim/lua/packer.lua:578: Running tasks ```packer compiled file
```lua -- Automatically generated packer.nvim plugin loader code if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') return end vim.api.nvim_command('packadd packer.nvim') local no_errors, error_msg = pcall(function() local time local profile_info local should_profile = false if should_profile then local hrtime = vim.loop.hrtime profile_info = {} time = function(chunk, start) if start then profile_info[chunk] = hrtime() else profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 end end else time = function(chunk, start) end end local function save_profiles(threshold) local sorted_times = {} for chunk_name, time_taken in pairs(profile_info) do sorted_times[#sorted_times + 1] = {chunk_name, time_taken} end table.sort(sorted_times, function(a, b) return a[2] > b[2] end) local results = {} for i, elem in ipairs(sorted_times) do if not threshold or threshold and elem[2] > threshold then results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' end end _G._packer = _G._packer or {} _G._packer.profile_output = results end time([[Luarocks path setup]], true) local package_path_str = "/home/bsmith/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/bsmith/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/bsmith/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/bsmith/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" local install_cpath_pattern = "/home/bsmith/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" if not string.find(package.path, package_path_str, 1, true) then package.path = package.path .. ';' .. package_path_str end if not string.find(package.cpath, install_cpath_pattern, 1, true) then package.cpath = package.cpath .. ';' .. install_cpath_pattern end time([[Luarocks path setup]], false) time([[try_loadstring definition]], true) local function try_loadstring(s, component, name) local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) if not success then vim.schedule(function() vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) end) end return result end time([[try_loadstring definition]], false) time([[Defining packer_plugins]], true) _G.packer_plugins = { DidYouMean = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/DidYouMean", url = "https://github.com/EinfachToll/DidYouMean" }, MatchTagAlways = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/MatchTagAlways", url = "https://github.com/Valloric/MatchTagAlways" }, ale = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ale", url = "https://github.com/w0rp/ale" }, ["auto-pairs"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/auto-pairs", url = "https://github.com/jiangmiao/auto-pairs" }, ["base16-vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/base16-vim", url = "https://github.com/chriskempson/base16-vim" }, ["bash-support.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/bash-support.vim", url = "https://github.com/vim-scripts/bash-support.vim" }, ["caw.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/caw.vim", url = "https://github.com/tyru/caw.vim" }, ["context_filetype.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/context_filetype.vim", url = "https://github.com/Shougo/context_filetype.vim" }, csapprox = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/csapprox", url = "https://github.com/godlygeek/csapprox" }, fzf = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/fzf", url = "https://github.com/junegunn/fzf" }, ["fzf.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/fzf.vim", url = "https://github.com/junegunn/fzf.vim" }, ["html5.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/html5.vim", url = "https://github.com/othree/html5.vim" }, indentLine = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/indentLine", url = "https://github.com/Yggdroot/indentLine" }, ncm2 = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ncm2", url = "https://github.com/ncm2/ncm2" }, ["ncm2-bufword"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ncm2-bufword", url = "https://github.com/ncm2/ncm2-bufword" }, ["ncm2-path"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ncm2-path", url = "https://github.com/ncm2/ncm2-path" }, ["ncm2-racer"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ncm2-racer", url = "https://github.com/ncm2/ncm2-racer" }, ["ncm2-syntax"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ncm2-syntax", url = "https://github.com/ncm2/ncm2-syntax" }, ["ncm2-ultisnips"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ncm2-ultisnips", url = "https://github.com/ncm2/ncm2-ultisnips" }, ["neco-syntax"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/neco-syntax", url = "https://github.com/Shougo/neco-syntax" }, nerdtree = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/nerdtree", url = "https://github.com/scrooloose/nerdtree" }, ["nerdtree-git-plugin"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/nerdtree-git-plugin", url = "https://github.com/Xuyuanp/nerdtree-git-plugin" }, ["nvim-yarp"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/nvim-yarp", url = "https://github.com/roxma/nvim-yarp" }, ["packer.nvim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/packer.nvim", url = "https://github.com/wbthomason/packer.nvim" }, ["rainbow_parentheses.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/rainbow_parentheses.vim", url = "https://github.com/kien/rainbow_parentheses.vim" }, ["rust.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/rust.vim", url = "https://github.com/rust-lang/rust.vim" }, ["scss-syntax.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/scss-syntax.vim", url = "https://github.com/cakebaker/scss-syntax.vim" }, supertab = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/supertab", url = "https://github.com/ervandew/supertab" }, ["tabline.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/tabline.vim", url = "https://github.com/mkitt/tabline.vim" }, tabular = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/tabular", url = "https://github.com/godlygeek/tabular" }, ["targets.vim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/targets.vim", url = "https://github.com/wellle/targets.vim" }, ultisnips = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/ultisnips", url = "https://github.com/SirVer/ultisnips" }, undotree = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/undotree", url = "https://github.com/mbbill/undotree" }, ["vim-airline"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-airline", url = "https://github.com/vim-airline/vim-airline" }, ["vim-airline-themes"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-airline-themes", url = "https://github.com/vim-airline/vim-airline-themes" }, ["vim-colorschemes"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-colorschemes", url = "https://github.com/flazz/vim-colorschemes" }, ["vim-css3-syntax"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-css3-syntax", url = "https://github.com/hail2u/vim-css3-syntax" }, ["vim-dispatch"] = { commands = { "Dispatch", "Make", "Focus", "Start" }, loaded = false, needs_bufread = false, only_cond = false, path = "/home/bsmith/.local/share/nvim/site/pack/packer/opt/vim-dispatch", url = "https://github.com/tpope/vim-dispatch" }, ["vim-endwise"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-endwise", url = "https://github.com/tpope/vim-endwise" }, ["vim-fugitive"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-fugitive", url = "https://github.com/tpope/vim-fugitive" }, ["vim-gitgutter"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-gitgutter", url = "https://github.com/airblade/vim-gitgutter" }, ["vim-go"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-go", url = "https://github.com/fatih/vim-go" }, ["vim-html-template-literals"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-html-template-literals", url = "https://github.com/jonsmithers/vim-html-template-literals" }, ["vim-indent-guides"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-indent-guides", url = "https://github.com/nathanaelkane/vim-indent-guides" }, ["vim-indent-object"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-indent-object", url = "https://github.com/michaeljsmith/vim-indent-object" }, ["vim-indexed-search"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-indexed-search", url = "https://github.com/henrik/vim-indexed-search" }, ["vim-javascript"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-javascript", url = "https://github.com/pangloss/vim-javascript" }, ["vim-openapi"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-openapi", url = "https://github.com/hsanson/vim-openapi" }, ["vim-pug"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-pug", url = "https://github.com/digitaltoad/vim-pug" }, ["vim-racer"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-racer", url = "https://github.com/racer-rust/vim-racer" }, ["vim-ragtag"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-ragtag", url = "https://github.com/tpope/vim-ragtag" }, ["vim-rails"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-rails", url = "https://github.com/tpope/vim-rails" }, ["vim-ruby"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-ruby", url = "https://github.com/vim-ruby/vim-ruby" }, ["vim-slim"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-slim", url = "https://github.com/slim-template/vim-slim" }, ["vim-surround"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-surround", url = "https://github.com/tpope/vim-surround" }, ["vim-textobj-user"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-textobj-user", url = "https://github.com/kana/vim-textobj-user" }, ["vim-toml"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-toml", url = "https://github.com/cespare/vim-toml" }, ["vim-vue"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-vue", url = "https://github.com/posva/vim-vue" }, ["vim-wordmotion"] = { loaded = true, path = "/home/bsmith/.local/share/nvim/site/pack/packer/start/vim-wordmotion", url = "https://github.com/chaoren/vim-wordmotion" } } time([[Defining packer_plugins]], false) -- Command lazy-loads time([[Defining lazy-load commands]], true) pcall(vim.cmd, [[command -nargs=* -range -bang -complete=file Start lua require("packer.load")({'vim-dispatch'}, { cmd = "Start", l1 =