p2p网站建设报价2p排名绵阳高新区建设局网站
web/
2025/9/28 1:15:07/
文章来源:
p2p网站建设报价2p排名,绵阳高新区建设局网站,网站建设20推广,自己能制作免费网站吗简介
Pyenv 是一个 python 解释器管理工具#xff0c;可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢#xff0c;用过的 python 人都知道#xff0c;python 虽然是易用而强大的编程语言#xff0c;但是 python 解释器却有多个版本#…简介
Pyenv 是一个 python 解释器管理工具可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢用过的 python 人都知道python 虽然是易用而强大的编程语言但是 python 解释器却有多个版本而且兼容性也有所差异有的Linux计算机甚至同时内置python2.7和python3.8两个解释器。另外有些软件依赖于 python 开发的脚本运行必须指定对应的版本才能运行。所以 pyenv 或者 conda 这样的版本管理程序就成了必不可少的工具。
Pyenv 是跨平台的python版本管理工具它的主要作用是 python 解释器的安装卸载切换当前 python 的环境等。他的功能与 conda 相似都可以安装多个 python 并切换使用但是 pyenv 是直接下载 cpython 的源码进行编译而 conda 是直接下载编译好的 python 解释器 conda 的 python 内置多种模块导致初始安装 python 体积很大。
Pyenv 切换 python 版本是通过修改系统变量PATH更改 python 的路径实现的版本切换达到版本控制的目的。
Pyenv 与 pip-envvirtualenv等工具的区别pip-env 和 virtualenv 是 python 的虚拟环境工具因为 python 大多数时候依赖于现有的模块进行开发而每个模块又有多个版本每个 python 程序需要的模块版本都不一样如果 python 程序安装模块都在解释器公共的位置这样会导致模块版本冲突。pip-env 和 virtualenv 这样的虚拟环境管理工具就能解决这样的问题每个 python 脚本有自己的独立环境但同时也能用公共环境的模块。他们的作用体现在同一个 python 解释器下不同程序的环境管理。Pyenv 是对操作系统内的多个 python 解释器进行管理他们不是一个层面的东西。
安装方法
1.Windows
1安装
使用git克隆安装
需要先安装git工具https://git-scm.com/download/win
# Powershell或Git Bash
git clone https://github.com/pyenv-win/pyenv-win.git $HOME/.pyenv
# cmd控制台
git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv使用pip安装
# cmd控制台
pip install pyenv-win --target %USERPROFILE%\\.pyenv
# 使用清华大学镜像源安装
pip install pyenv-win --target %USERPROFILE%\\.pyenv -i https://pypi.tuna.tsinghua.edu.cn/simple/安装在用户目录下的.pyenv目录 2添加环境变量
手动添加
变量名PYENV
值C:\Users\Admin\.pyenv\pyenv-win变量名PYENV_ROOT
值C:\Users\Admin\.pyenv\pyenv-win变量名PYENV_HOME
值C:\Users\Admin\.pyenv\pyenv-win变量名path
值%PYENV%\bin
值%PYENV%\shims或者使用PowerShell执行命令添加
[System.Environment]::SetEnvironmentVariable(PYENV,$env:USERPROFILE \.pyenv\pyenv-win\,User)
[System.Environment]::SetEnvironmentVariable(path, $HOME \.pyenv\pyenv-win\bin; $HOME \.pyenv\pyenv-win\shims; $env:Path,User)2.Linux
1安装
Linux系统下pyenv的安装需要git工具因此先安装git
sudo apt install git使用git克隆pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv安装完成后在用户目录就可以看到.pyenv目录了 2配置激活
在命令行中执行以下命令
echo export PATH~/.pyenv/bin:$PATH ~/.bashrc
echo export PYENV_ROOT~/.pyenv ~/.bashrc
echo eval $(pyenv init -) ~/.bashrc或者直接在.bashrc文件添加以下内容
export PATH~/.pyenv/bin:$PATH
export PYENV_ROOT~/.pyenv
eval $(pyenv init -)激活pyenv
source .bashrc3Pyenv安装依赖
使用pyenv安装python实际上是从github下载CPython源码进行编译因此需要一些依赖环境请执行以下命令安装依赖
sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev
sudo apt-get update**注意**某些工具已经存在的可以不用在安装比如linux系统一般自带wget工具可以使用命令wget --version如果能看到版本号说明已经存在不用再安装了。 3.Macos
1git克隆安装
使用git克隆pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv安装完成后在用户目录就可以看到.pyenv目录了 配置激活
在命令行中执行以下命令
echo export PATH~/.pyenv/bin:$PATH ~/.bashrc
echo export PYENV_ROOT~/.pyenv ~/.bashrc
echo eval $(pyenv init -) ~/.bashrc或者直接在.bashrc文件添加以下内容
export PATH~/.pyenv/bin:$PATH
export PYENV_ROOT~/.pyenv
eval $(pyenv init -)激活pyenv
source .bashrc2Homebrew安装pyenv
Homebrew的安装
macos系统因为没有apt包管理工具需要使用第三方的Homebrew包管理工具安装软件。
# 方法一
/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)
# 执行以上官方https://brew.sh的安装命令但是因为是国外的服务器安装会很慢。# 方法二
/usr/bin/ruby -e $(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)
# 这个安装方式提供了很多个国内的镜像安装一般选择清华大学镜像站安装。Homebrew包管理器体积大概有500M以上因此安装时要保证网络良好否则网速过低将会安装失败。 Homebrew常用命令
# 查询可安装包
brew search 软件名
# 安装包
brew install 软件名
# 卸载
brew uninstall 软件名
# 更新Homebrew
brew update
# 查看 Homebrew 配置信息
brew configHomebrew安装pyenv
brew install pyenv安装完成后在**/usr/local/Cellar/pyenv**目录就可以看到pyenv安装目录了安装位置层级比较深为了更好管理pyenv的环境尽量使用git安装。
环境管理
1.安装Python
# 查看可安装的版本
pyenv install --list
# 安装指定版本
pyenv install 3.9.0pyenv安装的包都在~/.pyenv/versions目录中每个包单独目录存放方便管理。
1Windows
Windows系统中pyenv工具安装python是从python官网的FTP服务器下载安装包然后再隐藏自动安装到versions目录安装过程不会修改环境变量。例如pyenv install 3.9.13下载64位python3.9.13安装包。请用管理员权限打开windows终端或者cmd命令行或者powershell执行pyenv命令否则可能安装不成功。
PS C:\Users\Admin pyenv install 3.9.13
:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Downloading] :: 3.9.13 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe
:: [Downloading] :: To C:\Users\Admin\.pyenv\pyenv-win\install_cache\python-3.9.13-amd64.exe
:: [Installing] :: 3.9.13 ...
:: [Info] :: completed! 3.9.13因为python官网访问比较慢也可以使用工具单独下载https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe安装包然后放到.pyenv\pyenv-win\install_cache目录下然后再执行pyenv install 3.9.13安装命令安装过程中还会下载python的多个依赖安装包过程相对较慢。
2Linux
Linux系统中pyenv安装python过程是直接从github下载cpython源码进行编译。
3macos
macos系统中pyenv是直接下载python官方的二进制程序但dev开发包是下载github的cpython源码进行编译。
离线安装
由于国内访问github.com和python.org非常慢所以如果提示无法访问相关链接导致安装错误可以采用离线安装的方式进行。手动在CNPM Binaries Mirror (npmmirror.com)下载对应的程序文件放在.pyenv/cache目录中后再执行安装命令。
mkdir ~/.pyenv/cache # cache目录不存在则创建
wget https://registry.npmmirror.com/-/binary/python/3.10.10/Python-3.10.10.tar.xz -P .pyenv/cache/
curl https://registry.npmmirror.com/-/binary/python/3.10.10/Python-3.10.10.tar.xz -P .pyenv/cache/
pyenv install 3.10.102.查看已安装版本
pyenv可以在系统中安装多个版本切换使用通过以下命令查看已安装的版本。
pyenv versions3.更新数据库
pyenv rehash4.切换Python版本
pyenv shell 3.8.0 # 临时版本切换仅限于当前终端
pyenv local 3.8.0 # 仅限本次系统登录使用下次登录操作系统账户将会失效
pyenv global 3.8.0 # 相当于长效的版本在未手动执行切换前该版本一直存在并可用。5.有关问题
(1)安装python环境提示没有lzma库
Traceback (most recent call last):File string, line 1, in moduleFile /home/coderlee/.pyenv/versions/3.10.10/lib/python3.10/lzma.py, line 27, in modulefrom _lzma import *
ModuleNotFoundError: No module named _lzma
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?执行以下命令安装liblzma-dev包解决
# ubuntu
sudo apt-get install liblzma-dev -y
# centOS
yum install -y xz-devel
# macos
brew install xz开发者
1.开发包管理
开发包是为开发者准备的包里面包含C程序开发头文件和静态链接库因为一般用户不会用到所以在Linux和macos系统下开发包相对于python解释器是单独存在的而windows是与解释器集成一同安装。开发包带有dev名称通过命令安装。
# 安装3.10-dev包
pyenv install 3.10-dev
# 删除3.10-dev包
pyenv uninstall 3.10-devpyenv安装的包都在~/.pyenv/versions目录中比如3.10-dev开发包头文件位于~/.pyenv/versions/3.10-dev/include/python3.10静态库位于~/.pyenv/versions/3.10-dev/lib/python3.10/config-3.10-x86_64-linux-gnu。
2.获取动态链接库
C嵌入Python的编译和运行都需要libpython3.10.so.1.0而pyenv安装的开发包没有动态链接库libpython3.10.so.1.0如果直接编译将会报错
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libmm.a(longobject.o): relocation R_X86_64_PC32 against symbol PyExc_OverflowError can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status这时候就必须通过安装python3.10来获取libpython3.10.so.1.0动态链接库可以用pyenv工具来安装也可以用miniconda3来创建。以miniconda创建的py310环境即python3.10解释器为例将~/miniconda3/envs/py310/lib/libpython3.10.so.1.0拷贝到~/.pyenv/versions/3.10-dev/lib/python3.10/config-3.10-x86_64-linux-gnu目录下并为其创建软链接命名为libpython3.10.so这样编译才能通过。
虚拟环境管理
pyenv-virtualenv 其实和 virtualenv 工具是一样的他可以为每个程序创建与公共环境隔离的独立环境并且可以人已安装模块。
1.Linux
git克隆安装
git clone https://github.com/pyenv/pyenv-virtualenv.git $.pyenv/plugins/pyenv-virtualenv2.macos
brew install pyenv-virtualenv
$ eval $(pyenv init -)
$ eval $(pyenv virtualenv-init -)3.创建虚拟环境
pyenv virtualenv 3.9.5 venv # 创建venv虚拟环境一般就是当前目录下创建venv可指定绝对路径
pyenv activate venv # 激活venv环境
pyenv deactivate venv # 退出venv环境
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83062.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!