当前位置: 首页 > 后端技术 > Python

Python版本自由切换

时间:2023-03-26 16:36:57 Python

1。概览端午节雷雨交加,出门困难。刚好有个python程序要调试。可搭建的环境是python2.7.5,比较老的环境,而新程序是基于python3编写的,看来是想把python切换到老版本调试,想方便的切换python版本,于是想到了python版本切换工具。上网查了下,pyenv是可以的。pyenv支持linux和windows,linux下的支持更加完善。我是win10。下面的实操以win10为例。2.安装pyenv实战记录本机原装python3.8.x,使用pip安装pyenv,pipinstallpyenv。windows下配置环境变量随时访问pyenv,需要把安装好的pyenv执行文件添加到路径中,还需要添加pyenv的shims目录(这个词挺神奇的,其实会后面会提到,这个操作真的很神奇,听后面分解)。将PYENV环境变化添加到系统变量中,我的值如下:PYENV=C:\Users\Admin\AppData\Local\Programs\Python\pyenv-win将pyenvr.bat的路径添加到系统路径变量中,并添加这个shimsshim目录也被添加到路径变量中。完成后如下:PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\ProgramFiles\nodejs\;%PYENV%\bin;%PYENV%\shims;:至此pyenv已经安装成功并可以使用了,打开命令窗口(win+R,输入cmd回车),输入pyenv,会显示pyenv的版本号和常用命令,安装成功。>pyenvpyenv1.2.4Usage:pyenv[]一些有用的pyenv命令是:Pythonversionshell设置或显示特定于shell的Python版本install使用python-builduninstall安装Python版本卸载特定Python版本rehashRehashpyenvshims(在安装可执行文件后运行)version显示当前Python版本及其原始版本列出所有pyenvexec可用的Python版本通过首先准备PATH运行可执行文件,以便选定的Python显示可执行文件的完整路径,从中列出包含给定可执行文件的所有Python版本有关特定命令的信息,请参阅“pyenvhelp”.完整文档参见:https://github.com/pyenv-win/pyenv-win#readmeinstalldifferentpythonversionspyenvinstall--list查看可安装的python版本pyenvinstall3.8.0installpython3.8.0pyenvinstall2.7.5安装python2.7.5更新pyenv命令:pyenvrehash切换python版本平时希望使用python3.8.0版本,设置常用版本为这个版本,命令如下:pyenvglobal3.8.0,运行后,以后使用python时,默认使用这个版本。我想调试旧版本的python程序。在该目录下需要特定的python版本,所以采用在该目录下设置特定版本的方法。命令如下:pyenvlocal2.7.5,这样以后只要进入这个目录,运行的python就是python2.7.5。>pythonPython2.7.5(默认,2013年5月15日,22:43:36)[MSCv.150032位(英特尔)]在win32上键入“help”、“copyright”、“credits”或“license”以获取更多信息。>>>>>>安装pip先安装setuptools,下载:https://pypi.org/project/setu...,解压,运行pythonsetup.pyinstall。然后安装pip,下载:https://pypi.org/project/pip/...,解压,运行pythonsetup.pyinstall。更新pyenv命令:pyenvrehash3。其他参数的知识pyenv的工作原理pyenv的工作原理其实很简单。将其管理的Python目录插入到环境变量中,这样系统搜索Python时,首先找到的是pyenv管理的Python环境。这条插入到前面的路径叫做shims,也就是%PYENV%shims目录。执行pyenv命令时,会有全局(当前系统)、本地(当前目录)、shell三个层次来管理python环境。使用的Python版本按以下顺序确定:优先级shell>local>global如果PYENV_VERSION环境变量存在,则使用该变量指定的python版本。你可以在当前的shell环境下使用pyenvshell命令来设置这个环境变量。如果文件:.python-version存在于当前目录中,则使用此变量指定的python版本。可以使用pyenvlocal命令修改当前目录下的.python-version文件。如果以上两个变量都不存在,则从下往上查找每一层的上层目录,找到的第一个.python-version就是要使用的python版本,直到到达文件系统的根目录,即,全局$(pyenvroot)/版本文件。可以使用pyenv全局命令进行修改。如果全局版本文件不存在,pyenv会假设你使用的是系统安装的Python。(换句话说,如果未安装pyenv,则在环境变量中找到Python)。pip源设置为国内源的方法(https://www.cnblogs.com/af1y/...在pip.exe目录下新建pip.ini,内容如下:[global]timeout=6000index-url=https://mirrors.aliyun.com/pypi/simple/trusted-host=mirrors.aliyun.com然后使用pip安装软件,速度快如飞。pyenv其他常用命令pyenvshims显示shims下的文件pyenvrehash生成shims目录及相关文件,如python、pip等pyenvinstall--list查看可安装的python版本.0指定全局运行的python版本号。pyenvlocal2.7.5在当前目录生成python版本文件。在此目录中运行python时,将使用版本文件中指定的版本。pyenvshell2.7.5在当前命令窗口中指定要运行的python版本。在此窗口中运行python时,将使用指定的版本。pyenvshell--unset移除当前命令窗口中指定的python版本,将使用本地或全局设置的python版本。pyenvversion查看当前激活状态的版本,括号中的内容表示该版本是通过哪种方式激活的(全局、本地、shell)pyenvversions查看pyenv当前安装的所有版本,激活的版本标有*>pyenvversions*2.7.5(setbyD:\01xxx\source\python\.python-version)3.8.0pyenvuninstall2.7.5卸载一个版本pyenvrehashforallinstalledexecutables(eg:~/pyenv/versions/*/bin/*)来创建shim,所以每当你添加或删除一个Python版本或一个带有可执行文件的包(如pip)时,你应该执行一次这个命令。主要执行代码:pyenv-winlibexecpyenv.vbspyenv各python版本安装路径:pyenv-winversions