python版本升级到3.8以及安装虚拟环境
linux系统升级python版本看起来复杂,如果知道其中步骤也不会觉得很困难。下面记录在deepin系统 15.11和ubuntu16.04系统下将python从2.7升级到3.8过程
升级python版本到3.8
使用普通用户完成以下操作:
更新源
sudo apt update
下载必要软件
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl libbz2-dev
注意:以 - 开头的标题可以选做
-下载 sqlite3
如果不安装sqlite3,升级python3之后找不到sqlite包
wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz
解压:
tar -xvzf sqlite-autoconf-3240000.tar.gz
进入目录:
cd sqlite-autoconf-3240000/
编译:
/configure --prefix=/usr/local/sqlite
安装:
make -j4&&sudo make install
下载python源码包
curl -O https://mirrors.huaweicloud.com/python/3.8.7/
解压
tar -xf Python-3.8.7.tar.xz
cd Python-3.8.7
-修改setup.py
进入python源码中,找到setup.py,修改 setup.py
查找" sqlite_inc_paths" 新增
'/usr/local/sqlite/include'
'/usr/local/sqlite/include/sqlite3'
编译生成make文件。
这里一定要带上编译参数--with-ssl,该参数是编译python是加入SSL,如果没有在使用pip3时会报错SSL有问题
./configure --with-ssl
make
make
安装
altinstall 的意思是不覆盖原来系统中的python版本。如果覆盖会出现终端打不开等一些问题。
sudo make altinstall
-复制sqlite相关的库文件
find / -name cpython-37m-x86_64-linux-gnu.so
cp /usr/local/lib/python3.8/lib-dynload/_sqlite3.cpython-37m-x86_64-linux-gnu.so /usr/local/lib/python3.8/lib-dynload/_sqlite3.so
将默认python3替换成更新的
which python3.8
rm -rf /usr/bin/python3
sudo ln -s /usr/local/bin/python3.8 /usr/bin/python3
将pip3更换成最新
这一步不同的系统会有不同。有些系统没有pip3,直接使用即可。
which pip3.8
rm -rf /usr/bin/pip3
sudo ln -s /usr/local/bin/pip3.8 /usr/bin/pip3
报错 lsb_release 找不到
如果在使用python虚拟环境时报错 lsb_release 找不到
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
全局搜索 lsb_release ,找到之后然后删除
安装虚拟环境
安装两个虚拟环境的包,顺序不可乱
pip3 install virtualenv
pip3 install virtualenvwrapper
配置环境变量
找到虚拟环境的管理脚本路径,配置环境变量需要
编辑文件 vim ~/.bashrc
find / -name virtualenvwrapper.sh
>> /home/vagrant/.local/bin/virtualenvwrapper.sh
不同系统文件的位置不同,以实际为准
初始化环境变量,编辑文件~/.bashrc
export virtualenvwrapper_python=/usr/bin/python3
export workon_home=$home/.virtualenvs
source /home/vagrant/.local/bin/virtualenvwrapper.sh
source ~/.bashrc
新建虚拟环境
mkvirtualenv -p python3 python3.8
进入虚拟环境
workon python3.8
python版本升级到3.8以及安装虚拟环境的更多相关文章
- python编程中在ubuntu中安装虚拟环境及环境配置
1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install --upgrade 包名` 2.python虚拟环境安 ...
- Python 安装虚拟环境
写在前面: 安装指南是在 Ubuntu 下面操作的.不同的 Linux 版本,安装指令不同.所以,该指南的某些指令对于像 CentOS 等非 Ubuntu 系统不适用. 为什么需要使用虚拟环境? 虚拟 ...
- Python:Anaconda安装虚拟环境到指定路径
1 曾经的困扰 有段时间,想使用基于不同python版本的anaconda,就直接从官网下载了两个不同的anaconda版本进行安装.刚开始的时候,还觉得也没啥问题.用了一小段时间,在安装其他的第三方 ...
- Python 使用 virtualenvwrapper 安装虚拟环境
装载于https://www.jianshu.com/p/9f47a9801329 Python 使用 virtualenvwrapper 安装虚拟环境 Tim_Lee 关注 2017.05.04 2 ...
- 解决安装虚拟环境出现的问题(OSError: Command /home/python/.virtua...ngo3_web/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2)
python3的报错解决: OSError: Command /home/python/.virtua...ngo3_web/bin/python3 - setuptools pkg_resource ...
- python安装虚拟环境pipenv
python里如果多个多个项目同时引用包,就会涉及到包版本的问题,包不同版本管理的问题可以用虚拟环境来管理, 创建虚拟环境,这里是用官方推荐的pipenv来创建 先用pip命令行安装pipenv pi ...
- python中在ubuntu中安装虚拟环境及环境配置
python中在ubuntu中安装虚拟环境及环境配置 1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install ...
- python 安装虚拟环境步骤
1.python3.6.3 注: 1.安装的时候,装上你的pip 2.安装的时候,把环境变量记得勾选 3.如果你手动更改安装位置,更改到随意的盘根目录下 2.MySQL pycharm最好安 ...
- python在Linux中安装虚拟环境,区别python2和python3,分别安装模块
安装虚拟环境的时候遇到的问题,解决的过程很闹心,在这里简单直接的分享出来,就是为了解决问题. 安装虚拟环境(须在联网状态下) $ sudo pip install virtualenv $ sudo ...
- python版本升级及pip部署方法
Python版本升级 CentOS 6.3自带的Python版本为2.6,首先需要升级到2.7版本.由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装. 1.下载Pyt ...
随机推荐
- 解决Maven中90%的依赖(导包)问题
今天给大家分享一个非常好用的技巧,这个技巧是一个组合技巧 是的,自从我开始接触了以spring为框架的项目学习后,这个maven导包老是出现问题,每次在这个上面花费好多时间,于是乎打算写一个秘籍出来. ...
- 在RT-thread studio 中生成 Doxgen文档
转载自RTT论坛 实测可以使用
- 文心一言 VS 讯飞星火 VS chatgpt (133)-- 算法导论11.2 5题
五.用go语言,假设将一个具有n个关键字的集合存储到一个大小为 m 的散列表中.试说明如果这些关键字均源于全域U,且|U|>nm,则U 中还有一个大小为n 的子集,其由散列到同一槽位中的所有关键 ...
- CodeDesk-一个新款跨平台桌面开发框架
CodeDesk 的灵感来自 Electron和Photino.这是一个基于 .NET 的开源项目. CodeDesk 的目标是使开发人员能够在跨平台的本机应用程序中使用 Web UI(HTML.Ja ...
- UIPath流程控制
应当仔细地观察,为的是理解:应当努力地理解,为的是行动. UIPath程序中流程控制主要包括条件语句.循环语句以及中断语句.下面我们一一学习这些语句在RPA流程设计中的使用. 1. 条件判断 if ...
- C语言已知四位数3025具有一个特殊性质:它的前两位数字30与后两位数字25之和是55,而55的平方正好等于3025。编程找出所有具有这种性质的四位数。
#include<stdio.h> void main() { int n, i, j; for (n = 1000; n < 10000; n++) { i = n / 100; ...
- 线性代数导论MIT第二章知识点上
线性代数导论MIT第二章求解线性方程组 2.1--2.2知识点 1.向量与线性方程组 2.不同角度看方程式 也就是矩阵的乘法原型: 以行来看方程式就是原式 以列来看方程式 以矩阵来看方程式 3.消元法 ...
- 【GKCTF 2020】ez三剑客
[GKCTF 2020]ez三剑客 收获 gopher协议SSRF 多利用github搜索已存在的函数漏洞 CMS审计的一些方法 1. ezweb 打开题目给了一个输入框,能够向输入的url发送htt ...
- C++ Qt开发:Qt的安装与配置
Qt是一种C++编程框架,用于构建图形用户界面(GUI)应用程序和嵌入式系统.Qt由Qt公司(前身为Nokia)开发,提供了一套跨平台的工具和类库,使开发者能够轻松地创建高效.美观.可扩展的应用程序. ...
- ASP.NET Core 8 在 Windows 上各种部署模型的性能测试
ASP.NET Core 8 在 Windows 上各种部署模型的性能测试 我们知道 Asp.net Core 在 windows 服务器上部署的方案有 4 种之多.这些部署方案对性能的影响一直以来都 ...