在使用python的pip(3)安装module时,可能会遇到如下错误:
ModuleNotFoundError: No module named 'distutils'
这是由于只有当python的版本介于3.4
- 3.11
版本间时,python才提供了distutils
模块,这间接的说明了,我们当前正在安装模块依赖的python版本为3.4
- 3.11
,所以解决该问题的的根本的方法是将当前python
的版本切换至3.4
- 3.11
版本间(而不是在其它的版本下安装所谓的 distutils
模块),以macos为例,示例如下:
$ brew install pyenv
$ pyenv install 3.11
$ pyenv global 3.11
然后输入:pyenv init
,根据提示向特定的文件中加入相关的代码:
提示如下;
panjie@panjiedeMac-Studio ~ % pyenv init
# Load pyenv automatically by appending
# the following to
# ~/.zprofile (for login shells)
# and ~/.zshrc (for interactive shells) :
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# Restart your shell for the changes to take effect.
它在说:分别向 ~/.zprofile
以及~/.zshrc
中加入下面的代码后,然后重启shell
:
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
重启shell
后,输入python --version
来确认版本号:
panjie@bogon ~ % python --version
Python 3.11.9
最后在当前版本下创建一个虚拟环境env
,比如起名为test
:
panjie@bogon ~ % python -m venv test
在接下来的日子里,便可以使用test/bin
中的python
来启动指定的3.11.9
版本了。
为每一个项目创建一个env
的好处是:创建1次以后,再也不用为环境的事情发愁了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。