Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Jerry Morrison

    Hello everybody! I'm installing Python 3.8.3 on centos 3.10.0-957.27.2.el7.x86_6 but it fails to import readline. This is a shared compute cluster where I can't run a package installer or sudo. The key build message is:

    *** WARNING: renaming "readline" since importing it failed: /home/groups/blah.../lib/libreadline.so.8: undefined symbol: UP

    The 3rd and 4th repetitions of that warning in the build log, it's followed with:

    INFO: Could not locate ffi libs and/or headers

    and stuff I don't understand about "necessary bits to build these optional modules".

    The build command looks like

    CFLAGS="-I/home/groups/blah.../include -I/share/software/user/open/sqlite/3.18.0/include" \
    LDFLAGS="-L/home/groups/blah.../lib -L/home/groups/blah.../lib64" \
    LD_LIBRARY_PATH="/home/groups/blah.../lib:/home/groups/blah.../lib64:$LD_LIBRARY_PATH" \
    SSH=/home/groups/blah... \
    CONFIGURE_OPTS="--enable-optimizations" \
    PYTHON_CONFIGURE_OPTS="--enable-shared" \
    pyenv install -f -v 3.8.3

    This is after compiling libressl, readline, and libffi from source and installing them into that blah... directory.

    Any suggestions? TIA!

    Lano P

    if I am using macos and installed pyenv with brew, do I need to set PYENV_ROOT, when I am in nvim and do :checkhealth it says that peen_root is not set.

    I know documentatioan says when installing with home-brew, starting with #3 ("Add pyenv init to your shell) but that doesn’t set the ROOT_PYENV.

    Sebastian Gniazdowski
    Hi. I'm getting the BUILD FAILED message and pyenv global {the-version} says that it's not installed, however the build log says that Python build finished successfully! and that it performed the installation and also installed the setuptools. What can be the reason of the error message and of the build being invisible to pyenv? The complete build log is here: http://sprunge.us/2XBBe0
    Sebastian Gniazdowski
    Ok, it's solved: my openssl was too old for that python version, but an older one installed OK.
    Jerry Morrison
    I found that pyenv install 3.8 is a lot more fragile than 2.7.
    (1) It requires a lot of libraries built and listed in a bunch of environment variables including CPPFLAGS and LDFLAGS (which are not colon-separated path lists), and PKG_CONFIG_PATH, LD_LIBRARY_PATH, LIBRARY_PATH (which are colon-separated path lists).
    (2) Needed libraries include libffi and xz even if the build messages don't mention them.
    (3) Some "necessary bits" like _uuid don't seem necessary. Does it fall back to Python code for those?
    Hi! I'm trying to compile a version of python with a specific version of openssl
    but everytime after installation when i run python -c "import ssl; print(ssl.OPENSSL_VERSION)"
    i get different version from what i specified with CFLAGS/LDFLAGS. eg:
    I missing something? :/
    After this i try install with: pyenv install -v 3.6.2
    The version that i try to use is: 1.0.2g
    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) 
    OPENSSLDIR: "/usr/local/ssl"
    Stéphane Juban
    Hi everyone,
    Why is there no python 3.7.8 on pyenv ? It is one of the recommended version with Heroku. Same with 3.8.5.
    I have pyenv 1.2.19
    Thanks !
    Philippe Ombredanne
    3.7.8 is available alright. You need to upgrade
    @StephaneJuban ^
    $ pyenv --version
    pyenv 1.2.19-6-gbdfed51
    Best is to use the git version if you want to stay current
    Stéphane Juban
    Thanks :)
    Ok anyway 1.2.20 is out now so brew upgrade pyenv did it
    Philippe Ombredanne
    Chris Snow
    I've installed several pyenv python versions inside a docker image, however when I try to use (e.g. 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
    Chris Snow
    Any idea where I need to start looking to figure out this issue?
    Chris Snow

    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.


    echo 'export PYENV_ROOT="~/.pyenv"' >> ~/.bashrc


    echo 'export PYENV_ROOT="/home/theia/.pyenv"' >> ~/.bashrc
    Philippe Ombredanne
    @snowch Did you check the manylinux/ cibuildwheel docker image(s) from Python PyPA team proper?
    Hey folks; I apologize if this is a question you get quite often, but I've run into a strange issue when trying to install any version of python3≤3.5.0. It seems that on MacOS these older python3 versions cannot find openSSL. These errors go away if I try to install 3.6.0 so I'm wondering if something under the hood changed between these versions, which doesn't play nice with how OSX handles linking of openSSL.
    This seems to have started around early July but I'm not 100% sure.
    Aaron Ciuffo
    I have three different Macs, all running 10.15. On two I've managed to build python 3.8.5 with tkinter; it works great. On the third, I cannot for the life of me figure out what's going wrong. I've used these very reliable instructions from github on the two working Macs, but I keep getting X11 errors when building on the third. Any ideas?
    I'm having an interesting issue: I'm getting a 404 when attempting to dowload the lates PyPy:
    ❯ 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'm on the latest version of pyenv (1.2.20). Not entirely sure why pyenv would be pointing to bitbucket for this, it looks as though pypy is hosted on downloads.python.org
    Philippe Ombredanne
    @seandstewart did you upgrade? Try the latest from master
    Thanks to @ashwinvis :)
    Hi everyone, I am trying to configure pyenv so that anyone on the team can use it. My goal is to make it simple for a team not very familiar with python to use any version of python they may need and to do so as transparently as possible with sane defaults. I've installed it to /opt/python/.pyenv but here is the heart of my question. How can I configure it so that when someone logs in with their PYENV_ROOT set to /opt/python/.pyenv their virtualenvs go to a different location and not under $PYENV_ROOT/versions? For example, in their home directory. Basically I'm attempting to configure it with a shared .pyenv with shared python installations but user specific virtual environments based on those python versions.
    Angus Hollands
    I imagine one way is to symlink the global version into the user pyenv dir
    Alexander Gehrke
    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.

    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.

    Tomás Farías Santana
    Hi all :wave: wanted to install the new Python 3.9.0 to try it out, but it seems the version is not yet available when I check 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!
    Chris Barnes
    hi all, I've had a PR up for a while which makes it trivial to test new python build scripts - any chance of a review? the changelog is small pyenv/pyenv#1548