pyenv install -v 3.6.2
root@47d430be99fa:~/Projects# openssl version -a
OpenSSL 1.0.2g 1 Mar 2016
built on: reproducible build, date unspecified
platform: linux-x86_64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/usr/local/ssl"
$ 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 ~
with /~
, e.g.
theia@6c1a368dc9db:/home/project$ ls \~
Putting the full path to the .pyenv folder in my .bashrc seems to have fixed it.
From:
echo 'export PYENV_ROOT="~/.pyenv"' >> ~/.bashrc
To
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)
downloads.python.org
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!
pip
using 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 python
shim works and starts my system python, and so do various other system commands that have a shim, only pip
seems broken.pyenv rehash
.
/usr/bin/python
is a symlink to python3
, there isn't any reference to python2 left in my /usr/bin
)
/usr/bin/pip
, it just isn't recognized via the shim (or rather, executed with the wrong, nonexistent python)
~/.local/bin
was 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 ~/.pyenv/shim
to 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?