$ pyenv --version pyenv 1.2.19-6-gbdfed51
pyenv local 2.7.18), I'm getting
pyenv: version 'x.x.x' not installed:
theia@51a0efa33dd1:/home/project$ ls -l /home/theia/.pyenv/versions/ total 24 drwxr-xr-x 1 theia theia 4096 Aug 6 11:49 2.7.18 drwxr-xr-x 1 theia theia 4096 Aug 6 11:50 3.5.9 drwxr-xr-x 1 theia theia 4096 Aug 6 11:50 3.6.11 drwxr-xr-x 1 theia theia 4096 Aug 6 11:50 3.7.8 drwxr-xr-x 1 theia theia 4096 Aug 6 11:50 3.8.5 drwxr-xr-x 1 theia theia 4096 Aug 6 11:51 3.9-dev theia@51a0efa33dd1:/home/project$ ls -l /home/theia/.pyenv/versions/2.7.18/ total 20 drwxr-xr-x 1 theia theia 4096 Aug 6 11:52 bin drwxr-xr-x 1 theia theia 4096 Aug 6 11:21 include drwxr-xr-x 1 theia theia 4096 Aug 6 11:21 lib drwxr-xr-x 1 theia theia 4096 Aug 6 11:49 man drwxr-xr-x 1 theia theia 4096 Aug 6 11:21 share theia@51a0efa33dd1:/home/project$ pyenv local 2.7.18 pyenv: version `2.7.18' not installed
It seems the issue was that tab completion in the shell was replacing
theia@6c1a368dc9db:/home/project$ ls \~
Putting the full path to the .pyenv folder in my .bashrc seems to have fixed it.
echo 'export PYENV_ROOT="~/.pyenv"' >> ~/.bashrc
echo 'export PYENV_ROOT="/home/theia/.pyenv"' >> ~/.bashrc
❯ pyenv install -vvv pypy3.6-7.3.1 /var/folders/dl/f3h10k2x10l88zy9wdjtbd600000gn/T/python-build.20200908191719.97207 ~/PycharmProjects/typic Downloading pypy3.6-v7.3.1-osx64.tar.bz2... -> https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.1-osx64.tar.bz2 curl: (22) The requested URL returned error: 404 error: failed to download pypy3.6-v7.3.1-osx64.tar.bz2 BUILD FAILED (OS X 10.15.6 using 0000000000)
I imagine one way is to symlink the global version into the user pyenv dir
Yeah, that's what I've been doing, or just moving them entirely to the user's home directory. I'd like a more correct and automated way of doing it. As it is now, we will seriously clutter the PYENV_ROOT directory.
Hi. Is there a way to upgrade the pip version globally, so that new virtualenvs created use that version? I tried upgrading while having the python version used as base for the envs as global, but creating a venv after that still uses the old pip version.
There is a pyenv plugin that lets you set default installed modules, perhaps it might also upgrade those modules? I'm not sure.
pyenv install --list(latest appears to be
3.9.0-dev). Although I have been loving it so far, I am fairly new to pyenv so I still don't know how new versions become available, is there a PR that needs to happen? I am running the latest pyenv version. Thanks!
pipusing the system python, I get
home/crater2150/.local/share/pyenv/pyenv.d/exec/pip-rehash/pip: /home/crater2150/.local/bin/pip: /usr/bin/python2: bad interpreter: No such file or directory. Curiously, calling the
pythonshim works and starts my system python, and so do various other system commands that have a shim, only
/usr/bin/pythonis a symlink to
python3, there isn't any reference to python2 left in my
/usr/bin/pip, it just isn't recognized via the shim (or rather, executed with the wrong, nonexistent python)
~/.local/binwas the problem, I'm not sure, how that ended up there, probably the system pip2 installed it.
hey all. I've got some beef between pyenv and ansible. I understand where the problem is coming from, but I'm unsure how to fix it. Looking for some ideas. Some details:
ansible is being installed from my system package manager (im on pop os 20.04, based off ubuntu 20.04) to /usr/bin. pyenv is installed to ~ using the github checkout method.
Now, when I run
eval "$(pyenv init -)"
pyenv modifies my
PATH to use the shim'd python executable before system python. this is what is is supposed to do. but now when i execute ansible, I get this error:
ModuleNotFoundError: No module named 'ansible' - which is totally understandable as
ansible isn't installed to
pyenv's python environment.
my question is...how should I manage this? is there a way to 'force' ansible to use the system python install? is there a way to set
pyenv init - to append
PATH instead of prepending it? this allows the shebang in the
ansible system install script to work properly...but i suppose this is nonideal because it exposes system python in some way. should I just suck it up and setup an ansible virtualenv/pyenv environment and just use that?
is there a simple solution to all of this that I'm not seeing?
eval "$(pyenv init -)"from my startup scripts altogether. and only call it when im working on a python project. then use system python most of the time. certainly a bit annoying but an option.