Python 在redhat 7部署安装

Python 在redhat 7部署安装

一、Python介绍

python 的创始人为吉多.范罗苏姆,python英文翻译为蟒蛇。
编译型语言和解释型语言
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成机器语言的文件,运行时不需要重新翻译。直接使用编译的结果就可以。程序执行效率高,依赖编译器,跨平台性较差。(速度快,运行快,跨平台性差)
解释型语言:解释型语言编写的程序不进行预先编译,已文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,不需要编译。在运行程序时必须先解释再运行。(跨平台性好,速度略差)

python的特点:
1.python是完全面向对象的语言,函数、模块、数字、字符都是对象,完全支持继承,重载,多重继承。支持重载运算符也支持泛型设计。
2.python拥有一个强大的标准库,python语言的核心只包含数字、字符串、列表、文件等常见类型和函数,而python标准库提供了系统管理、网络语言、文本处理、数据库接口、图形系统、xml处理等额外的功能。
3.python社区提供了大量的第三方模块,使用方式和标准库类似。

优缺点:
优点:
简单易学、开源免费、面向对象、丰富的库、可扩展性(可以部分程序使用c或者c++)
缺点:
运行速度略差、国内市场较小、中文社区资源较少

二、环境说明

操作系统:Red Hat Enterprise Linux Server release 7.4 (Maipo)
python版本:3.7.4

三、软件和依赖包安装

软件可以直接wget或者浏览器输入链接下载软件再拷贝到服务器上
https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
wget  https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

如果没有tar工具的需要安装tar工具,如果需要用到wget工具的也可以安装wget工具;
yum install tar
yum -y install wget
最关键的就是这个libffi-devel。如果这个包未安装。后续在编译安装的时候会提示报错。
yum install libffi-devel -y  
yum -y groupinstall "Development tools"
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

四、编译安装

[root@localhost soft]# tar -xzvf Python-3.7.4.tgz
[root@localhost soft]# mv Python-3.7.4 py374
[root@localhost soft]# cd py374/
[root@localhost py374]# ./configure prefix=/usr/local/python3
checking for the getrandom() function... no
checking for pkg-config... /usr/bin/pkg-config
checking for openssl/ssl.h in /usr/local/ssl... no
checking for openssl/ssl.h in /usr/lib/ssl... no
checking for openssl/ssl.h in /usr/ssl... no
checking for openssl/ssl.h in /usr/pkg... no
checking for openssl/ssl.h in /usr/local... no
checking for openssl/ssl.h in /usr... no
checking whether compiling and linking against OpenSSL works... no
checking for --with-ssl-default-suites... python
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations
[root@localhost py374]# 
[root@localhost py374]# make && make install
(cd /usr/local/python3/bin; ln -s pyvenv-3.7 pyvenv)
if test "x" != "x" ; then \
	rm -f /usr/local/python3/bin/python3-32; \
	(cd /usr/local/python3/bin; ln -s python3.7-32 python3-32) \
fi
rm -f /usr/local/python3/share/man/man1/python3.1
(cd /usr/local/python3/share/man/man1; ln -s python3.7.1 python3.1)
if test "xupgrade" != "xno"  ; then \
	case upgrade in \
		upgrade) ensurepip="--upgrade" ;; \
		install|*) ensurepip="" ;; \
	esac; \
	 ./python -E -m ensurepip \
		$ensurepip --root=/ ; \
fi
Looking in links: /tmp/tmpmokew1il
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.0.3 setuptools-40.8.0
[root@localhost py374]# 
打印如上信息提示安装成功;需要等待一定的时间。

五、配置全局变量以及python3和python兼容

将python和pip设置为全局变量
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
 配置python3 和python2 共存
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
将文件开始的#! /usr/bin/python 也修改为#! /usr/bin/python2

六、启动进行测试

[root@localhost py374]# python3
Python 3.7.4 (default, Apr 13 2022, 10:14:04) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1.01 ** 365
37.78343433288728
>>> 

七、问题记录

报错1:
在make && make install 之后提示如下报错
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/__init__.py", line 40, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/cli/autocompletion.py", line 8, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/cli/main_parser.py", line 12, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/commands/__init__.py", line 6, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/commands/completion.py", line 6, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/cli/base_command.py", line 20, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/download.py", line 37, in <module>
  File "/tmp/tmpddm600ma/pip-19.0.3-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in <module>
  File "/home/soft/py374/Lib/ctypes/__init__.py", line 7, in <module>
    from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
make: *** [install] Error 1
以上报错需要安装libffi-devel包。执行以下安装命令在重新执行make && make install
yum install libffi-devel -y
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离线安装Python的步骤如下: 1. 首先,您需要在一个具有连接外网的Redhat环境中安装Python 3.6版本。您可以使用命令`/python3.6/bin/pip3`来执行安装所需的库和依赖项。\[2\] 2. 如果您没有连接外网的环境,您可以选择第二种方法。这种方法需要root权限。您需要安装并编译Python,并将TensorFlow的安装包导入到您的机器中,然后进行安装。\[2\] 3. 在安装完成后,您可以将所需的包软连接到应用程序中。然后,您可以在`/python36/bin`目录下使用`./python3`命令打开Python进行测试。这样,您就可以成功导入cv2库。\[3\] 4. 如果您在后续的机器学习过程中需要添加其他包,您可以直接在已经启动的Python 3中使用`pip3`命令下载这些包。然后,您可以将Python 3.6打包部署到离线环境中。这样,您就可以避免TensorFlow对依赖包的需求。\[3\] 总结起来,离线安装Python的步骤包括在具有连接外网的环境中安装Python 3.6版本,并安装所需的库和依赖项,或者在没有连接外网的环境中使用root权限安装和编译Python,并导入TensorFlow的安装包。然后,您可以将所需的包软连接到应用程序中,并在需要时使用pip3命令下载其他包。最后,将Python 3.6打包部署到离线环境中。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [离线环境下redhat7.2已及centOS(7.0版本以上)安装python3.6以及tensorflow1.5、opencv3.4.5流程和采坑...](https://blog.csdn.net/qq_26925867/article/details/84976035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值