热门标签 | 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






推荐阅读
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 深入探索Node.js新框架:Nest.js第六篇
    在本文中,我们将深入探讨Node.js的新框架Nest.js,并通过一个完整的示例来展示其强大功能。我们将使用多个装饰器创建一个基本控制器,该控制器提供了多种方法来访问和操作内部数据,涵盖了常见的CRUD操作。此外,我们还将详细介绍Nest.js的核心概念和最佳实践,帮助读者更好地理解和应用这一现代框架。 ... [详细]
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 在Linux系统中将Python更新至3.7版本的方法如下:首先,从Python官方网站下载Python 3.7的安装包,例如使用 `wget` 命令下载 `Python-3.7.3.tgz`。其他版本的下载链接也可从Python官网获取。接下来,解压下载的文件并进入解压后的目录,运行配置脚本和编译命令以完成安装。确保在安装过程中添加Python 3.7到系统的环境变量中,以便全局使用。此外,建议检查当前系统的Python版本,以避免冲突。 ... [详细]
  • 在本文中,我们将探讨如何在Docker环境中高效地管理和利用数据库。首先,需要安装Docker Desktop以确保本地环境准备就绪。接下来,可以从Docker Hub中选择合适的数据库镜像,并通过简单的命令将其拉取到本地。此外,我们还将介绍如何配置和优化这些数据库容器,以实现最佳性能和安全性。 ... [详细]
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社区 版权所有