Closed abhi18av closed 3 years ago
Guys, I"m not quite sure why this happened. For now, as the path settings are messed up none of my hooks and programs are working at all. I've tried byte compile
the .spacemacs
again but doesn't seem to make any difference and the .spacemacs.env
has the correct variables for sure.
Please help me out a bit here.
It seems this breakage is also the reason why I can't run luminus
template from cider repl
https://github.com/luminus-framework/luminus-template/issues/441
the same thing happened to me when I switched over to the develop
branch. The commands for elixir's major mode stopped working:
zsh:1: command not found: mix
asdf is self upgrading shims to new asdf exec ...
asdf: now running iex
/Users/user/.asdf/bin/private/asdf-exec: line 15: exec: iex: not found
Process Alchemist-IEx exited abnormally with code 127
while they run just fine when opening a shell inside Spacemacs and running mix test
.
My understanding is that develop
introduced spacemacs.env
which is probably not in master
until the release of Spacemacs 0.300 to master.
Ensure you do a diff of your .spacemacs file with the template, .eg. using SPC f e D
. Or just move your .spacemacs file out of the way if you have no customisations.
I would also advise removing the contents of the elpa directory in .emacs.d
and restarting Spacemacs.
Hi @jr0cket , what you say is true about the new spacemacs.env
in the develop
. I've tried deleting emacs.d
and reinstalling from scratch but the situation remains the same on the develop
branch.
Another thing I've tried is to comment out the (spacemacs/load-spacemacs-env)
as advised in the .spacemacs.env
but it hasn't worked either. So, kinda blocked here π
Guys, please do help me out here - life is not complete without spacemacs
:)
I had solved the issue by basically blowing away my config.
βββ rm ~/.spacemacs* # remove existing config files cd ~/.emacs.d git clean -fdx # delete files that aren't tracked in repo rm .cache # not deleted from the prior βββ
I suspect a more tempered approach could be taken probably by moving the config files and incrementally back porting changes.
Yes, I read those in the linked issue and have tried various versions of those in last 20 minutes but so far no progress really. π
Could you provide the following information?
PATH
set to in .spacemacs.env
?exec-path
RET show?(getenv "PATH")
RET print in the *Messages*
buffer?Hi @Miciah
Here's the information you've pointed out
PATH
in .spacemacs.env
PATH=/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/Users/eklavya/.cargo/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/Applications/Racket v7.3.0.3/bin:/Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin:/Users/eklavya/.pyenv/versions/anaconda3-2019.03/condabin:/Users/eklavya/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.3/shims:/usr/local/opt/curl/bin:/Users/eklavya/.nix-profile/bin:/Users/eklavya/.pyenv/shims:/Users/eklavya/.opam/default/bin:/Applications/Racket\ v7.0/bin:/usr/local/opt/node@8/bin:/Users/eklavya/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin
exec-path
exec-path is a variable defined in βC source codeβ.
Its value is
("/usr/bin" "/bin" "/usr/sbin" "/sbin" "/usr/local/Cellar/emacs-plus/26.2/libexec/emacs/26.2/x86_64-apple-darwin17.7.0" "/usr/local/opt/llvm/bin" "/Users/eklavya/.cargo/bin" "/Applications/Racket v7.3.0.3/bin" "/Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin" "/Users/eklavya/.pyenv/versions/anaconda3-2019.03/condabin" "/Users/eklavya/google-cloud-sdk/bin" "/usr/local/Cellar/pyenv-virtualenv/1.1.3/shims" "/usr/local/opt/curl/bin" "/Users/eklavya/.nix-profile/bin" "/Users/eklavya/.pyenv/shims" "/Users/eklavya/.opam/default/bin" "/Applications/Racket\\ v7.0/bin" "/usr/local/opt/node@8/bin" "/Users/eklavya/.local/bin" "/usr/local/sbin" "/usr/local/bin" "/Applications/VMware Fusion.app/Contents/Public" "/usr/local/share/dotnet" "/opt/X11/bin" "~/.dotnet/tools" "/Library/Frameworks/Mono.framework/Versions/Current/Commands" "/Applications/Wireshark.app/Contents/MacOS" "/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin" "/Users/eklavya/.yarn/bin" "/Users/eklavya/.config/yarn/global/node_modules/.bin" "/Users/eklavya/.fzf/bin")
Original value was
("/Users/eklavya/.yarn/bin" "/Users/eklavya/.config/yarn/global/node_modules/.bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/Users/eklavya/.fzf/bin" "/usr/local/Cellar/emacs-plus/26.2/libexec/emacs/26.2/x86_64-apple-darwin17.7.0")
(getenv "PATH")
"/Users/eklavya/.yarn/bin:/Users/eklavya/.config/yarn/global/node_modules/.bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/eklavya/.fzf/bin"
emacs
binary (anaconda3-2019.03) (base) Abhinavs-MacBook-Pro: eklavya$ emacs --version
GNU Emacs 22.1.1
Copyright (C) 2007 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
This seems dubious as I have installed emacs
via brew cask
(anaconda3-2019.03) (base) Abhinavs-MacBook-Pro: eklavya$ brew link emacs
Warning: Already linked: /usr/local/Cellar/emacs/26.1_1
To relink: brew unlink emacs && brew link emacs
I hope this gives you more of a hint than it did to me π
It is bizarre that PATH
in .spacemacs.env
has /usr/local/opt/llvm/bin
repeated like that. It is also strange that it does not match exec-path
or (getenv "PATH")
. You mentioned that you tried disabling (spacemacs/load-spacemacs-env)
in .spacemacs
; is it still disabled?
What is the path to the python2
executable that you want Spacemacs to use? For example, if you get the right version from a shell, what does which python2
print? And what do SPC h d v python-shell-interpreter
RET, M-: (locate-file python-shell-interpreter exec-path)
RET, and M-: (python-shell-with-environment (locate-file python-shell-interpreter exec-path))
RET show? (These are the questions I meant to ask before; sorry I wasn't clearer.)
I (think) solved the issue on my end:
After running the commands that @Miciah suggested I noticed that (getenv "PATH")
would give me a different result from the other two. So I went to my .spacemacs.env
and noticed that there were two PATHs
:
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PATH=/usr/local/opt/openssl/bin:/usr/local/opt/postgresql@9.6/bin:/Users/marcus/.asdf/shims:/Users/marcus/.asdf/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/fzf/bin
And the first one being returned by (getenv "PATH")
and it was clearly incomplete (in my case, it didn't have any of the asdf
paths that I use for elixir) -- the second PATH
was correct, but for some reason it wasn't being picked up by the (getenv "PATH")
command. So I removed the first (and incomplete) PATH
on .spacemacs.env
and it worked just fine!
I'm not sure if this was something wrong with my environment specifically, but according to the docs on .spacemacs.env
:
# Some variables may be listed twice, the last one is effective except for the PATH variables.
# All PATH values are added to the `exec-path' variable without duplicates.
the last PATH
should've overridden the first one, but for some reason it (partially) didn't happen.
Hopefully this helps!
@Miciah the (spacemacs/load-spacemacs-env)
function is definitely called in my .spacemacs
like so
(defun dotspacemacs/user-env ()
"Environment variables setup.
This function defines the environment variables for your Emacs session. By
default it calls `spacemacs/load-spacemacs-env' which loads the environment
variables declared in `~/.spacemacs.env' or `~/.spacemacs.d/.spacemacs.env'.
See the header of this file for more information."
(spacemacs/load-spacemacs-env))
The python2
binary which I'd like spacemacs
to pick up is /usr/local/bin/python2
and for python3
it should be /Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin/python3
which ought to be set by the pyenv
and should be activated at the shell startup.
The information you requested is below which I tried out in the ielm
ELISP> python-shell-interpreter
"python"
ELISP> (locate-file python-shell-interpreter exec-path)
"/usr/bin/python"
ELISP> (python-shell-with-environment (locate-file python-shell-interpreter exec-path))
"/usr/bin/python"
ELISP>
And once I've tried out the suggestion put forward by @MarcusSky , here is all the information mentioned earlier
ELISP> python-shell-interpreter
"ipython"
ELISP> (locate-file python-shell-interpreter exec-path)
"/Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin/ipython"
ELISP> (python-shell-with-environment (locate-file python-shell-interpreter exec-path))
"/Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin/ipython"
ELISP> exec-path
("/usr/bin" "/bin" "/usr/sbin" "/sbin" "/usr/local/Cellar/emacs-plus/26.2/libexec/emacs/26.2/x86_64-apple-darwin17.7.0" "/usr/local/opt/llvm/bin" "/Users/eklavya/.cargo/bin" "/Applications/Racket v7.3.0.3/bin" "/Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin" "/Users/eklavya/.pyenv/versions/anaconda3-2019.03/condabin" "/Users/eklavya/google-cloud-sdk/bin" "/usr/local/Cellar/pyenv-virtualenv/1.1.3/shims" "/usr/local/opt/curl/bin" "/Users/eklavya/.nix-profile/bin" "/Users/eklavya/.pyenv/shims" "/Users/eklavya/.opam/default/bin" "/Applications/Racket\\ v7.0/bin" "/usr/local/opt/node@8/bin" "/Users/eklavya/.local/bin" "/usr/local/sbin" "/usr/local/bin" "/Applications/VMware Fusion.app/Contents/Public" "/usr/local/share/dotnet" "/opt/X11/bin" "~/.dotnet/tools" "/Library/Frameworks/Mono.framework/Versions/Current/Commands" "/Applications/Wireshark.app/Contents/MacOS" "/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin")
ELISP> (getenv "PATH")
"/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/Users/eklavya/.cargo/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/usr/local/opt/llvm/bin:/Applications/Racket v7.3.0.3/bin:/Users/eklavya/.pyenv/versions/anaconda3-2019.03/bin:/Users/eklavya/.pyenv/versions/anaconda3-2019.03/condabin:/Users/eklavya/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.3/shims:/usr/local/opt/curl/bin:/Users/eklavya/.nix-profile/bin:/Users/eklavya/.pyenv/shims:/Users/eklavya/.opam/default/bin:/Applications/Racket\\ v7.0/bin:/usr/local/opt/node@8/bin:/Users/eklavya/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin"
ELISP>
I guess this does improve things to a certain extent but I have a feeling we're not entirely there yet.
I just switched to develop
and something that was completely broken for me was $PATH. This seemed to be because of some kind of caching because when I told load-spacemacs-env
to forcibly load my environment variables and ignore the cache then I was able to (getenv "PATH")
and have it actually reflect what was in my ~/.spacemacs.env
file.
https://github.com/syl20bnr/spacemacs/issues/11510 may be related
(defun dotspacemacs/user-env ()
(spacemacs/load-spacemacs-env t))
I just switched to
develop
and something that was completely broken for me was $PATH. This seemed to be because of some kind of caching because when I toldload-spacemacs-env
to forcibly load my environment variables and ignore the cache then I was able to(getenv "PATH")
and have it actually reflect what was in my~/.spacemacs.env
file.11510 may be related
(defun dotspacemacs/user-env () (spacemacs/load-spacemacs-env t))
This worked to me i'd the same error with node PATH, but this configuration imports from shell ENV and put into spacemacs.env
, it generated my ENV file.
Had the same issue just recently after updating dev... for now I just have the PATH forced inside .spacemacs user-config with a (setenv "PATH" ...)
call
even with (load-env-vars spacemacs-env-vars-file)
inside user-config was not enough to fix.
Reverted my local branch to 2019-10-15 and that still had spacemacs.env file working correclty... (maybe this info is useful)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please let us know if this issue is still valid!
I had a related problem. After switching from master to develop (and updating the dotspacemacs file), spacemacs had trouble starting processes (I am running Ubuntu on WSL2 if that matters). For example, SPC q r would only quit but not restart. Opening email attachments via mu4e no longer worked. Calling xdg-open on files from within spacemacs failed.
Eventually, the only way out was to add the exec-path-from-shell package in the dotspacemacs-additional-packages and comment out (spacemacs/load-spacemacs-env) in dotspacemacs/user-env
If spacemacs handles the environment variables itself, then it should be able to set them correctly.
@rommeswi
I cannot quit with SPC q r
when emacs is running as a daemon. But otherwise it works okay.
In daemon, you can try SPC q q
to kill the daemon. And suppose that you have systemd managing the daemon, it would be started momentarily. Then you can open emacs again.
Description :octocat:
Spacemacs should behave the very same way wrt path variables in
master
anddevelop
.Reproduction guide :beetle:
Observed behaviour: :eyes: :broken_heart:
python2
by apple and theanaconda3
version.This was fine in the
master
branch but as soon as I have switched to thedevelop
branch the path settings seem to have become broken, even though everything is correct in the.spacemacs.env
file.Expected behaviour: :heart: :smile:
Spacemacs should behave the very same way wrt path variables in
master
anddevelop
.System Info :computer: