Skip to content

python3-config (along with other tools) does not respect the version virtualenv hook on #459

@favrei

Description

@favrei

Hello, thanks for building/maintaining the essential python tool for the community, appreciated!

Recently, I have a problem with the python3-config command when I activate a virtual environment based on python 3.11.4 (well, in fact this problem stays whatever the version I swiched).

The problem is that pyenv which python3-config returns the system path (/usr/bin/python3-config) instead of the pyenv path (/home/pete/.pyenv/versions/a/bin/python3-config). This causes issues when I try to compile some packages that depend on python3-config.

pete@pop-os:~$ pyenv --version
pyenv 2.3.20-1-gd0b78fd5

pete@pop-os:~$ pyenv virtualenv --version
pyenv-virtualenv 1.2.1 (python3.11 -m venv)

pete@pop-os:~$ pyenv global 3.11.4

pete@pop-os:~$ pyenv which python3
/home/pete/.pyenv/versions/3.11.4/bin/python3

pete@pop-os:~$ pyenv which python3-config
/home/pete/.pyenv/versions/3.11.4/bin/python3-config

pete@pop-os:~$ pyenv activate a  # A is a virtual environment based on python 3.11.4

(a) pete@pop-os:~$ pyenv which python3

/home/pete/.pyenv/versions/a/bin/python3

(a) pete@pop-os:~$ pyenv which python3-config

/usr/bin/python3-config  # expected to be the one hosted by pyenv not from system

System Information:

Pop!_OS 22.04 LTS
pyenv 2.3.20-1-gd0b78fd5
pyenv-virtualenv 1.2.1 (python3.11 -m venv)
python 3.11.4

Initialization in my .bashrc:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Please let me know what additional information I can provide.
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions