找回密码
 立即注册
查看: 165|回复: 0

在ubuntu16.04上安装python3.11.2、protobuf22.x

[复制链接]
发表于 2023-4-6 14:21 | 显示全部楼层 |阅读模式
简介

事情是这样子的...(简介结束)
过程

还是过程比较der,注重写过程吧
首先是python3.11.2,已经成功装好了,这个倒是简单,我忘了具体需要啥了,总之从apt-get装不了,只能从源码编译了。
大概就是这些命令:
./configure
make
make install以上的C++环境大概是这样的:
sudo apt-get install build-essential然后其他额外的库:
libncurses-dev libgdbm-dev libz-dev tk-dev libsqlite3-dev libreadline-dev liblzma-dev libffi-dev libssl-devpython装好了,截个图:


应该截图没暴露什么秘密吧~~~


然后是编译cmake,protobuf22.x要cmake 13?忘了。总之要个新版本才行,也得从源码编译
这个也很简单:
./configure
make
make install

然后可以从上图中看出来我的gcc有问题,它默认是用了build-essential里的gcc、g++以及c++。于是乎,我开始调他们的先后顺序:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 --slave /usr/bin/g++ g++ /usr/bin/g++-5 --slave /usr/bin/gcov gcov /usr/bin/gcov-5这样我默认的gcc和g++都选择的是9号版本,就可以成功编译出来protobuf了,在编译protobuf的时候,好像只能用cmake,我这个不是很确定,因为我找了一圈发现只认识cmake,然后你要把c++的标准选择为C++17,否则googletest里会有一些错误,在CMakeList.txt里加上:
add_definitions(-std=c++17)protobuf的源码编译真的是慢,想起来一件事,如果你要添加第三方的仓库说找不到add-apt-repository的时候,你执行下面的操作就可以了:
sudo apt-get install software-properties-common编译protobuf内存不足!!!!


没办法,加虚拟内存继续搞!


成了!然缺pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py最终我没有从protobuf安装成功python的protobuf,我从pip安装成功了:


所谓的车到山前自有路吧,尽管一开始我是想给电脑装个protobuf,结果搞了一大圈,反正是实现了最新版的python+一个22.x版的protobuf的环境了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-15 09:02 , Processed in 0.101260 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表