Mac中pyenv的安装与使⽤教程⽬录
前⾔
⼀、pyenv
1、安装
⽅式⼀:Git Clone
⽅式⼆:Homebrew
2、验证
3、使⽤
⼆、virtualenv插件
1、安装
⽅式⼀:Git Clone
⽅式⼆:Homebrew
2、配置
3、使⽤
电脑python安装教程⾃动激活和退出虚拟环境
三、报错
1、激活指定的虚拟环境时报错
2、还是系统版本
3、安装 python报错
运算符是什么意思
四、注意
五、相关知识
5.1、pyenv能做什么
5.2、pyenv运⾏
5.3、PATH
5.4、shims
总结
前⾔
pyenv 可在不同 python 版本之间轻松切换,实现 python 环境隔离,且⽀持⾃动激活和退出虚拟环境
⼀、pyenv
1、安装
⽅式⼀:Git Clone
git clone git://github/pyenv/pyenv.git ~/.pyenv
bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL -l
zsh
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
exec $SHELL -l
⽅式⼆:Homebrew
安装
brew install pyenv
根据⾃⾝环境,将下⽅内容加到对应⽂件中: .bashrc / .zshrc
export PYENV_ROOT=/usr/local/var/pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
数据库管理系统知识点总结export PATH="$PYENV_ROOT/shims:$PATH"
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
2、验证
验证安装是否成功:
pyenv
3、使⽤
基本使⽤
命令描述
pyenv --version查看 pyenv 的版本
pyenv versions罗列当前已安装的所有 python 环境,如果是当前正在使⽤的环境,则前⾯会有个 *
pyenv help查看帮助
pyenv init如果输⼊ pyenv 之后使⽤ tab 不补全,可以使⽤该命令进⾏初始即可使⽤补全命令
安装环境
命令描述
pyenv install -l显⽰可以安装的版本列表
pyenv install 版本号安装指定版本的 python
pyenv rehash更新本地数据库,安装指定版本的 python 后使⽤
环境应⽤
命令描述
pyenv global 版本号更改本机版本,重启不会造成再次更改
pyenv local 版本号会在当前⽬录创建 .python-version ⽂件,并记录设置的 python 环境,每次进⼊该⽬录会⾃动设置成该 python 环境pyenv shell 版本号更改当前 shell 下使⽤的 python 版本,临时⽣效,优先级⾼于 global
⼆、virtualenv插件
1、安装
⽅式⼀:Git Clone
cd .pyenv/plugins
git clone github/pyenv/pyenv-virtualenv.git # 安装virtualenv插件
⽅式⼆:Homebrew
brew install pyenv-virtualenv
2、配置
⽆论使⽤上述的哪种⽅式进⾏的安装,请根据⾃⾝环境,将下⽅内容加到对应⽂件中: .bashrc / .zshrc
eval "$(pyenv virtualenv-init -)"
3、使⽤
基本使⽤
命令描述
pyenv virtualenv 3.8.3 env383创建 3.8.3 版本虚拟环境
pyenv virtualenvs显⽰环境
pyenv activate env383激活使⽤指定的虚拟环境
excel统计函数公式大全讲解pyenv deactivate退出当前虚拟环境
rm -rf .pyenv/versions/3.8.3删除版本环境
rm -rf .pyenv/versions/env383删除虚拟环境
⾃动激活和退出虚拟环境
在需要使⽤虚拟环境的⽬录(通常是项⽬⽬录)中:
建⽴⼀个 .python-version 的⽂本⽂件
将虚拟环境名称(如 env383 )写在⾥⾯
之后每次进/出该⽬录时,虚拟环境都将⾃动激活/退出。
三、报错
1、激活指定的虚拟环境时报错
# 命令
pyenv activate env383
# 报错信息
Failed to activate virtualenv.
Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
别慌,重启你的终端,或者执⾏如下命令即可
exec $SHELL -l
2、还是系统版本
如果你⽤ pyenv versions 查看,明明已经切换成功,但是⽤ python -V却还是系统版本。
原因是 pyenv没有加到 $PATH环境变量⾥去,解决办法如下:
export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH
3、安装 python报错
安装 python报错,如
pyenv install 3.8.3
报错内容:
python-build:**************************
telnet成功显示什么python-build: use readline from homebrew
Downloading Python-3.8.
-> /ftp/python/3.8.3/Python-3.8.
Installing Python-3.
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 12.0.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/cy/8zkx5hys2tsgb1d_x42_r8qc0000gn/T/python-build.20220122174148.1531
Results logged to /var/folders/cy/8zkx5hys2tsgb1d_x42_r8qc0000gn/T/python-build.20220122174148.1531.log
Last 10 log lines:
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include  -I/Applications/Xcode.app/Contents/Develo clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include  -I/Applications/Xcode.app/Contents/Develo ./Modules/posixmodule.c:9221:15: error: implicit declaration of function 'sendfile' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
ret = sendfile(in, out, offset, &sbytes, &sf, flags);
^
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include  -I/Applications/Xcode.app/Contents/Develo 1 error generated.
make: *** [Modules/posixmodule.o] Error 1
make: *** Waiting for
nutz快速入门1 warning generated.
使⽤下⾯的命令安装即可,注意修改成相应的版本号
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix b 四、注意
安装好的版本不做任何修改,我们只操作虚拟环境,如 env383
可以通过版本来多个虚拟环境,如 env383_1、env383_2
导出当前环境的依赖库: pip freeze >
导⼊依赖库到当前环境: pip install -
五、相关知识
5.1、pyenv能做什么
1,基于每个⽤户更改全局Python版本
2,对每个项⽬的Python版本提供⽀持
3,允许通过环境变量覆盖Python版本
4,⼀次搜索多个版本的Python
5.2、pyenv运⾏
在⼀个⾼的级别上,pyenv使⽤shim可执⾏⽂件注⼊到PATH来拦截Python命令;确定您的应⽤程序指定了哪个Python版本,并将命令传递给正确的已安装Python版本。
5.3、PATH
当运⾏诸如python或pip等命令时,操作系统将在⽬录列表中搜索以查具有该名称的可执⾏⽂件。此⽬录列表位于⼀个名为PATH的环境变量中,列表中的每个⽬录都⽤冒号分隔:
/usr/local/bin:/usr/bin:/bin
PATH从左到右搜索⽬录,因此列表开头⽬录中的匹配可执⾏⽂件优先于结尾⽬录中的另⼀个可执⾏⽂件。在这个例⼦中, /usr/local/bin⽬录将被搜索的第⼀个,然后是/usr/bin,然后是/bin。
5.4、shims
pyenv通过在你的PATH前插⼊shims⽬录来⼯作:
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
Shim是轻量级的可执⾏⽂件,它们只是将命令传递给pyenv。因此在安装了pyenv的情况下,运⾏pip时操作系统将执⾏以下操作:
1,在PATH中搜索名称为pip的可执⾏⽂件
2,在PATH开头的shims⽬录中,到名称为pip的shim⽂件
3,运⾏名称为pip的shime⽂件,shime将命令传递给pyenv
总结
到此这篇关于Mac中pyenv的安装与使⽤的⽂章就介绍到这了,更多相关Mac pyenv安装使⽤内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。