说明:以下仅是个人使用的一些见解
1、下载安装pyenv
1.1、如原先已经安装过python的,可以直接使用pip进行安装:
pip install pyenv-win --target D:\pyenv -i https://pypi.mirrors.ustc.edu.cn/simple/
镜像地址我喜欢用中国科技大学,很少出错。
其他镜像:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 : https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/ 山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
1.2、如没有安装过python的,可以去github上下载:
https://github.com/pyenv-win/pyenv-win
解压后就可以了,多余的项目文件不用管,主要使用的是pyenv-win这个文件夹内的内容
2、配置pyenv
2.1、设置环境变量
2.2、配置下载的镜像地址:
(没有什么特别的好办法,只能修改配置文件内几百个地址了)
找到pyenv-win下面的.versions_cache.xml
打开后把里面的源地址:https://www.python.org/ftp/python
替换成镜像地址:https://npm.taobao.org/mirrors/python
3、安装需要的python版本
3.1、先看下哪些版本可用:pyenv install -l
3.2、选择需要的版本进行安装:pyenv install 2.7.18
我们也能看到来源地址变成了taobao,这样速度就快很多了
3.3、耐心等待其安装完成,有时候挺慢的。
3.4、如果我们没有设置镜像地址,也可以手动去官网下载安装包:
3.5、把下载后的.exe文件放到D:\pyenv\pyenv-win\install_cache,随后再执行pyenv install 3.9.10
,也可完成安装
4、pyenv的其他使用命令
4.1、查看已安装的python版本:pyenv versions
4.2、当然我们如果没有设置过global或local版本的话,会提示我们设置,同时也提供了设置的命令:
pyenv version
设置全局版本:pyenv global 3.10.5
设置本地版本:pyenv local 2.7.18
(使用pyenv local设置从当前工作目录开始向下递归都继承这个设置)
4.3、取消设置global,local设置
pyenv global --unset
pyenv local --unset
4.4、查看当前的python版本:
pyenv version
4.5、如果本地已有之前安装过的python,并设置过环境变量,需要把环境变量删除,否则可能报错
4.6、卸载已安装的版本:
pyenv uninstall 3.10.5
4.7、pip也是全新的
5、安装virtualenv
使用virtualenv创建一个虚拟的python环境,每个项目都可以建一个属于自己的虚拟环境
5.1、使用pip安装virtualenv
pip install virtualenv -i https://pypi.mirrors.ustc.edu.cn/simple/
5.2、ok当前的python环境下已经安装好virtualenv了,之前pip list里面几乎是空的
6、建立virtualenv虚拟环境
进入项目文件夹,打开终端:
virtualenv my_env
这边就是以当前的python版本创建的虚拟环境
7、激活使用virtualenv
进入虚拟环境下的Scripts,找到active,直接终端执行该文件,即可。
当命令行前方出现虚拟环境的名称时,说明已经激活虚拟环境了。
可以看到这个环境下下,啥都没有,后续只要进入哪个虚拟环境,在这个虚拟环境下安装的包只属于这个虚拟环境。
以后不用了,虚拟环境想删就删。
退出虚拟环境:进入到Scripts,找到deactivate,直接终端执行该文件,即可
8、拓展(使用requirement.txt安装项目包)
在虚拟环境下,找到requirement.txt
pip install -r .\requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
安装完成后,可以看到在虚拟环境中执行pip list,看到的包和非虚拟环境中看到的包是不一样的。
9、总结
以上就是使用pyenv管理python版本,以及使用virtualenv创建虚拟环境的主要内容。希望帮助到大家。
2023-12-27,补充:linux环境下的pyenv,virtualenv的安装使用
10、下载安装pyenv
方法1:从git 克隆:git clone https://github.com/yyuu/pyenv.git ~/.pyenv
方法2:直接下载zip包
个人这边由于linux环境不能上github,所以选择第二种方式,下载zip之后放到linux环境下。
上传zip后解压
设置环境变量,进入配置文件:
vim /etc/profile
在文件内加入以下属性(注意$HOME后面加的是你放pyenv文件夹的位置):
export PYENV_ROOT="$HOME/python_project/pyenv-master"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
git方式安装在~/.pyenv下的
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
使配置生效:source /etc/profile
如果报错,说明路径配置有问题,自己检查下,再试试。没有报错的话,说明已经生效了。
执行:pyenv -v
查看pyenv的版本,能看到就说明安装成功了。
如果原来的机器上装有python版本,且设置果环境变量的话,建议删除环境变量,否则可能报错。
11、安装python
这边建议直接去python官网上下载安装包,否则速度很慢,容易失败。
https://www.python.org/ftp/python
linux需要下载tar.xz文件
把下载的tar.xz安装包放到pyenv下的cache文件夹(如果没有的话,自己mkdir一个)
执行命令安装这个版本的python:pyenv install 3.9.13
等待安装完成,设置全局python版本:pyenv global 3.9.13
查看下当前的python版本(*号是当前使用的版本):pyenv versions
12、安装,使用virtualenv
pip安装virtualenv:pip install virtualenv -i https://pypi.mirrors.ustc.edu.cn/simple/
进入项目文件,删除window下的虚拟环境,创建新的虚拟环境(这边提一句:windows下通过virtualenv创建的虚拟环境在linux下是不能用的,需要重新建虚拟环境,并下载依赖包)
激活虚拟环境(fenv是创建的虚拟环境名称):source fenv/bin/activate
激活成功后用户名前面会有(fenv)的标识
安装依赖包
pip install -r requirement.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
运行项目(我这边是django项目,和fastapi项目),在虚拟环境下运行就行了,会直接使用虚拟环境的依赖包:
/usr/bin/nohup python manage.py runserver > system.log 2>&1 &
退出虚拟环境的话,使用deactivate
13、总结:
以上就是个人关于pyenv,virtualenv使用的一些理解
14、备注:
关于使用pyenv遇到openssl版本问题:
升级完openssl,并建立软连接后(网上都有),pyenv内卸载python,并重新安装,随后控制台看下实际版本知否正确了。
import ssl
print(ssl.OPENSSL_VERSION)