0%

python、java多环境

python虚拟环境

venv

创建虚拟环境需要用到venv,python3.6以上默认安装的

创建虚拟环境

可以在任意文件夹下创建虚拟环境,注意的是,创建出来的虚拟环境是和当前python版本是一样的,主要作用是下载脚本相适配的库

1
pyhton -m venv [要创建环境的名称]

执行成功后生成一个和名称相同的文件夹,文件夹内的Scripts文件夹内是启动虚拟环境的脚本,lin文件夹内是环境依赖

image-20240707162341789

启动虚拟环境

通过启动脚本,来启动虚拟环境,脚本不能在Windows PowerShell中启动,需要使用默认的命令行

1
[虚拟环境的名称]\Scripts\Activate.ps1

启动问题——Windows PowerShell执行策略

我这就是没用过Windows PowerShell的提示,因为Windows PowerShell默认是只能执行本地的脚本,不能执行下载的脚本,是一种安全模式(Restricted)

image-20240707163923274

在Windows PowerShell中查看当前的执行策略

1
Get-ExecutionPolicy

管理员运行Windows PowerShell更改策略

1
Set-ExecutionPolicy RemoteSigned

image-20240707164700351

再次执行脚本,出现绿框内容表示成功进入虚拟环境,通过pip list可以发现环境十分干净,没有其他的库

image-20240707164918878

退出环境

1
deactivate

总结:

python的虚拟环境不算很复杂,可以根据脚本的要求下载对象版本的库

python多环境管理

下载安装pyenv

从gitup上下载pyenv-win https://github.com/pyenv-win/pyenv-win#readme

解压下来,找到pyenv-win的bin目录

1
xxx\pyenv-win-master\pyenv-win-master\pyenv-win

也可以使用pip安装,但是会安装到C盘,我就没有弄

1
pip install pyenv-win

配置环境变量

新建一个系统变量 PYENV

image-20240707203445362

新增两行环境变量

1
2
%PYENV%\bin
%PYENV%\shims

image-20240707203537895

配置完成后,命令行输入pyenv验证一下

image-20240707203657370

切换python版本

1
pyenv global [切换到的版本]

pyenv的方法输入pyenv都可以看到,install下载版本什么的

image-20240707205346137

下载问题

补档:

当时下载第一个成功下载了,后面再下载一直提示失败

可以尝试更改国内源,添加环境变量,地址有很多,随便选一个就行

1
2
3
https://jedore.netlify.app/tools/python-mirrors/
https://jedore.vercel.app/tools/python-mirrors/
https://mirrors.huaweicloud.com/python/
image-20240810001647296

如果还是提示失败,可以直接将对应的python版本下载下来,放到这个目录下,install_cache

1
\pyenv-win-master\pyenv-win-master\pyenv-win\install_cache

再执行下载命令,这个时候就不会下载了,而是直接进行安装操作

结尾

输入pyenv versions是看不到本地下载的python版本的,只能看到通过pyenv install下载的python版本

我认为呢,问题不大,可以再将本地再重新下载一个,因为库是不变的,更该python版本,系统上的库不会变化,如何有需要,可以再创建虚拟环境

pyenv下载的python版本在pyenv的目录下的versions目录下

image-20240707211345538

Linux

在Linux系统下,需要用到update-alternatives来管理多系统

使用update-alternatives的前提是Linux里已经装好了不同版本的python

1
2
3
4
update-alternatives --install [链接] [名称] [路径] [优先级]
链接/usr/bin/python
名称一般为python,也可以自定义
路径为python的版本路径

配置好链接后,切换版本时,只需要

1
update-alternatives --config python

然后输入要切换的编号即可

Linux中Java的多环境和python一样,也是通过update-alternatives来实现

我也没配置jdk8的环境,直接切换就可以使用

image-20240707230355226

注意还要配置javac