热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

paddlenlpcentos7镜像从0开始搭建

1pullcentos7基础镜像dockerpullcentos:centos72安装python3.8.6python3.6不行!后续安装seqeval-1.2




1 pull centos7基础镜像

docker pull centos:centos7

2 安装python3.8.6

python3.6不行!
后续安装seqeval-1.2.2.tar.gz 包的时候会报错(安装paddlenlp时候需要此包),查了一下,发现需要python3.7及以上才可,看到paddlepaddle官方镜像中安装的python3.8.6,故也安装此版本。


1.1下载安装包:

cd /tmp
wget http://cdn.npm.taobao.org/dist/python/3.8.6/Python-3.8.6.tgz
说明:这句话的作用主要是用wget软件(初学者请自行了解次软件,以后会经常用到)从一个指定的URL下载文件。格式为:
wget 空格 URL地址。而下载目录就是当前目录,所以需要cd到你需要放置下载文件的地方。

如果镜像中没有安装wget又不想装,可以访问http://cdn.npm.taobao.org/dist/python/3.8.6/Python-3.8.6.tgz将tar包下载到本地,再通过

docker cp 本地路径/Python-3.8.6.tgz container_id:容器中路径

复制到容器中


1.2 解压安装包

tar -zxvf Python-3.8.6.tgz
说明:tar是Linux系统的解压命令,这句话是把文件解压到文件所在的文件夹。
如果是土星话操作界面可以向在WIN上一样解压文件。
同样也可以像在win上一样下载Python源文件放置在指定文件夹。

1.3 安装编译Python3源文件所需的编译环境

yum install -y gcc
yum install -y zlib*
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install automake autoconf libtool make
说明:这里功能很简单,要说的是yum命令。
虽然linux也可以像win上一样在指定的软件的官网下载软件,
但是有一些常用且公用的软件会被放置在特定的远程仓库里面,可以通过使用yum命令来安装。
而且yum命令还可以主动帮用户解决软件的依赖问题。
所以想要学好linux的话了解一下yum也是必须的。此外还有anaconda也是类似的软件。

执行 whereis make 命令可以验证是否安装成功,如果有路径则表示安装成功。


1.4 安装

进入Python3 源文件文件夹:

cd Python-3.8.6/

指定安装目录:

./configure --prefix=/usr/local/python3 --with-ssl
说明:不要忘记最前面的“.”

编译源文件:

make

正式安装:

make install

建立软链接:

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
说明:
  很多教程都有最后一步,但是很少有网站会告诉你为什么会有最后一步。
  所谓软连接就相当于win下的快捷方式。你可以通过快捷方式打开你想要使用的软件。
  但是为什么要把快捷方式放在/usr/bin/呢。这就涉及到环境变量的问题了,
  你当然可以不使用最后的软连接而直接把/usr/local/python3/bin加到环境变量里面,
  那随你喜好。但是在这里/usr/bin/是默认已经在环境变量里面的,
  把快捷方式放到这个文件夹相当于间接的把该Python3加入环境变量,
  这样你才可以直接在终端输入“python3”打开Python。

3 安装paddlepaddle == 2.3.2

python3 -m pip install paddlepaddle==2.3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

ps:这个源速度一般,可以找找速度更快的源
比如:https://mirror.baidu.com/pypi/simple
paddlepaddle有点大的,需要一些时间。。。

但是后来import paddle报错:
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found (required by /usr/local/python3/lib/python3.8/site-packages/paddle/fluid/core_avx.so)
参考 https://blog.csdn.net/liuliangcan/article/details/125388222 解决了:
问题定位:
搜到是/lib64/libstdc++.so.6这个库版本过低
解决方法:
最终上网直接找到这个so,https://wwa.lanzoui.com/i8lnene。
下下来之后放到/usr/lib64/.
删除原先的软连接,建立新的软连接

magi_system]# rm /usr/lib64/libstdc++.so.6
rm: remove symbolic link ‘/usr/lib64/libstdc++.so.6’? y
[root@bi-server-1 magi_system]# ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
[root@bi-server-1 magi_system]# sudo strings /lib64/libstdc++.so.6 | grep 'CXXABI'

4 安装paddlenlp >= 2.4

报错:
ModuleNotFoundError: No module named ‘_ctypes’
错误原因:
Python3中有个内置模块叫ctypes,它是Python3的外部函数库模块,它提供兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用CentOS7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。
由于在CentOS7系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装pip的时候就报了"ModuleNotFoundError: No module named ‘_ctypes’"的错误。
————————————————
版权声明:本文为CSDN博主「wuyepiaoxue789」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wuyepiaoxue789/article/details/117958240
解决方法:
1、执行如下命令:

yum install libffi-devel -y

2、源码安装的python3 重新编译安装

cd /tmp/Python-3.8.6/
./configure --prefix=/usr/local/python3

make && make install

继续安装paddlenlp:

python3 -m pip install --upgrade paddlenlp -i https://mirror.baidu.com/pypi/simple

WARNING: The script paddle2onnx is installed in ‘/usr/local/python3/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

DEPRECATION: jieba is being installed using the legacy ‘setup.py install’ method, because it does not have a ‘pyproject.toml’ and the ‘wheel’ package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the ‘–use-pep517’ option. Discussion can be found at https://github.com/pypa/pip/issues/8559

WARNING: The script tqdm is installed in ‘/usr/local/python3/bin’ which is not on PATH.

WARNING: The script huggingface-cli is installed in ‘/usr/local/python3/bin’ which is not on PATH.

WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv


5 安装scikit-learn >= 1.0.2

python3 -m pip install scikit-learn==1.0.2 -i https://mirror.baidu.com/pypi/simple

6 安装paddleslim==2.2.2

python3 -m pip install paddleslim==2.2.2 -i https://mirror.baidu.com/pypi/simple

7 安装jupyter 方便远程访问

参见:https://blog.csdn.net/k411797905/article/details/126252699

报错:bash:vim:command not found
解决:
https://blog.csdn.net/m0_45426637/article/details/123017730

yum -y install vim*

报错:
bash: jupyter: command not found
解决:
是因为jupyter 安装在 /usr/local/python3/bin 路径下
发现了jupyter位置,把它添加到环境变量再测试

vim /etc/profile
添加如下代码
export PATH=$PATH:/usr/local/python3/bin
退出编辑
source /etc/profile //执行配置

报错:
bash: netstat: command not found
解决:
安装这个包:

yum install net-tools -y

8 最后,打镜像,存tar包

docker保存容器为镜像

docker commit [选项] [容器ID或容器名] [仓库名:标签]

保存镜像为tar包

docker save -o /home/kong/XXXX.tar NAME:label






推荐阅读
  • Nagios可视化插件开发指南 —— 配置详解
    本文详细介绍了Nagios监控系统的配置过程,包括数据库的选择与安装、Nagios插件的安装及配置文件的解析。同时,针对常见的配置错误提供了具体的解决方法。 ... [详细]
  • 对于初次购买阿里云服务器的新手用户来说,如何高效地利用服务器资源并成功部署网站是一个重要的课题。本文将详细指导您完成从购买服务器到网站上线的六个关键步骤。 ... [详细]
  • 本文介绍了如何在Windows操作系统中安装FFTW库,并详细说明了使用Visual Studio 2010进行4096点快速傅里叶变换(FFT)的步骤。包括下载预编译文件、生成库文件以及配置环境等关键环节。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 本文档提供了首次周测的答案解析,涵盖特殊符号、命令作用、路径说明以及实战练习等内容。 ... [详细]
  • 本文详细介绍了在Mac操作系统中使用Python连接MySQL数据库的方法,包括常见的错误处理及解决方案。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • 本文介绍了如何使用Workman框架构建一个功能全面的即时通讯系统,该系统不仅支持一对一聊天、群组聊天,还集成了视频会议和实时音视频通话功能,同时提供了红包发送等附加功能。 ... [详细]
  • 本文介绍了如何将Linux系统中的YUM源更换为阿里云镜像源,包括网络连通性测试、原YUM源的移除、阿里云YUM源的配置以及缓存的更新等步骤。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • 如何更换Anaconda和pip的国内镜像源
    本文详细介绍了如何通过国内多个知名镜像站(如北京外国语大学、中国科学技术大学、阿里巴巴等)更换Anaconda和pip的源,以提高软件包的下载速度和安装效率。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • 一键LNMP配置SSL证书实现全站HTTPS访问
    许多网站搭建者选择了便捷的一键LNMP安装包,但在网站部署完成后,配置SSL证书以支持HTTPS访问是一个不可或缺的步骤。本文将详细介绍如何通过简单的步骤完成这一过程。 ... [详细]
author-avatar
wz44_798
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有