使用 pipenv/virtualenv 安装任意版本的python虚拟环境

本文详细介绍了如何从下载Python源码到手动编译,再到使用pipenv创建虚拟环境的全过程。首先从Python官方FTP获取历史版本,然后进行编译安装,接着在指定目录下创建虚拟环境,并利用编译后的Python版本激活。在实验中遇到pip不可用的问题,通过重新安装pip解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果是virtualenv相关用法请参考:python使用virtualenv在本地新建虚拟环境

因为目前集自动下载、安装、配置环境于一体的工具还没有,所以前面的步骤我们都要自己完成,整体逻辑是:

  1. 下载指定版本的python
  2. 本地编译好即可
  3. 用虚拟环境指定编译后的python程序,借此创建新的虚拟环境

1. 下载对应的python安装包

官网网站:https://www.python.org/downloads/,官网不适合找历史版本

python不同版本的FTP服务:https://www.python.org/ftp/python/,这个适合找历史版本

找到想要的版本,比如我想下载3.7.13,使用:

mkdir make_python # 用来装编译完成后的python运行程序
wget https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tar.xz
tar -xvJf Python-3.7.13.tar.xz
cd Python-3.7.13.tar.xz/

2. 开始编译Python

这一部分主要是需要编译python并得到可执行的python程序

首先安装通用编译工具:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

然后开始编译:

首先设置一下编译要存放的目录,这里不要放到系统环境下,方便后续创建虚拟环境的管理

./configure --prefix=/home/my_user/make_python/python3_7
make && make install
cd ../make_python/python3_7

测试一下python能否运行:

cd bin/
./python3

如果能够运行成功,显示python3.7.13,就OK了,记录一下当前的目录:

pwd

比如是:/home/my_user/make_python/python3_7/bin

3. pipenv配置虚拟环境

首先退出这个目录:

cd ../../..
mkdir python_env # 用来存放虚拟环境版本
cd python_env/
mkdir my_python3_7 # 这个是环境的名称

然后借助编译后的程序创建python虚拟环境:

pipenv --python="/home/my_user/make_python/python3_7/bin/python3.7"

其中:

  • --python后的参数是:编译后的python的运行程序

这样python3.7的虚拟环境就安装完成了。其中,pipenv创建的虚拟环境路径是:/home/my_user/.local/share/virtualenvs

4. 进入虚拟环境

pipenv shell

这时运行python就可以看到python3.7.13

在这里插入图片描述
博主在实验的时候虚拟环境里的pip用不了,很神奇,报错ModuleNotFoundError: No module named 'pip._vendor.six',这里我们重装一下pip就可以:

wget https://bootstrap.pypa.io/get-pip.py

然后使用python运行

python get-pip.py --force-reinstall
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆萌的代Ma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值