我是一个强大的pyenv
和poetry
用户,开始使用pipx
,并希望了解更多关于它是如何工作的。具体来说,我想了解它是如何确定安装时使用哪个Python版本的。
我注意到,当您使用pipx install <package>
使现有安装可全局访问时,它似乎搜索PATH
以查找对应用程序的现有引用。例如,这在pyenv
中工作得很好,pipx
将在通过pyenv
安装的任何Python版本中找到您安装的包的版本。
pipx install cookiecutter
⚠️ Note: cookiecutter was already on your PATH at ~/.pyenv/shims/cookiecutter
installed package cookiecutter 1.7.3, Python 3.9.6
These apps are now globally available
- cookiecutter
done! ✨ 🌟 ✨
但是如果它是一个你以前从未安装过的包呢?并且有一个与3.6,3.7,3.8兼容的包版本-安装这个包时如何确定使用Python版本?
我发现您可以提供PipX应该安装包的Python版本,方法是将其作为install
命令的参数提供(见下文)。
更具体地说,当使用pyenv
时,您可以切换到您想要安装的版本,然后提供$(which python)
来自动提供该python版本的路径…
pyenv shell 3.X.X
pipx install <package-name> --python $(which python)