python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
Modules/Setup.dist
https://askubuntu.com/questions/661039/trouble-with-zip-support-in-custom-python-build-zipimport-zipimporterror-cant
yum -y install gcc gcc-c++ zlib*; wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz;
tar -xvf Python-3.6.5.tgz;cd Python-3.6.5;./configure;make;make install; wget --no-check-certificate https://files.pythonhosted.org/packages/source/p/pip/pip-10.0.0.tar.gz;
tar -xvf pip-10.0.0.tar.gz;
cd pip-10.0.0;python3 setup.py build;python3 setup.py install; python3 pip3
RHEL 8 install Python 3 or Python 2 using yum
https://www.cyberciti.biz/faq/rhel-8-install-python-3-or-python-2-using-yum/
How to find out Python package names on RHEL 8
Try any one of the following syntax along with grep command:sudo yum search python3 | more
sudo yum search python2 | more
sudo yum search python36
sudo yum search python2 | grep 'python2.x86_64'
You can show detailed information before installing package as well:sudo yum info python2.x86_6
sudo yum info python36
http://ask.xmodulo.com/install-python3-centos.html
Method One: Build and Install Python3 from the Source
You can always build python3 from its source manually. Since you can choose the version of python3 to install, this is the surest way to meet Python dependency requirement.
Here is how you can build and install python3 from the source.
First, install minimum necessary tools:
Then using yum-builddep, set up a necessary build environment for python3 and install missing dependencies. The following command will automatically take care of that.
Now download the latest python3 (e.g., python 3.5) from https://www.python.org/ftp/python/
Finally, build and install python3 as follows. The default installation directory is /usr/local. If you want to change this to some other directory, pass "--prefix=/alternative/path" parameter to configure before running make.
$ cd Python-3.5.0
$ ./configure
$ make
$ sudo make install
This will install python3, pip3, setuptools as well as python3 libraries on your CentOS system.
Method Two: Install Python3 from EPEL Repository
The latest EPEL 7 repository offers python3 (python 3.4 to be exact). Thus if you are using CentOS 7 or later, you can easily install python3 by enabling EPEL repository as follows.
Then install python 3.4 and its libraries using yum:
Note that this will not install matching pip. To install pip and setuptools, you need to install them separately as follows.
$ sudo /usr/bin/python3.4 get-pip.py
检查修改 软连接
[xiaole@localhost bin]$ ll -as | grep python
12 -rwxr-xr-x. 1 root root 11232 12月 2 2016 abrt-action-analyze-python
0 lrwxrwxrwx. 1 root root 7 7月 27 11:34 python -> python2
0 lrwxrwxrwx. 1 root root 9 7月 27 11:34 python2 -> python2.7
8 -rwxr-xr-x. 1 root root 7216 6月 21 04:28 python2.7
0 lrwxrwxrwx. 1 root root 9 7月 27 11:37 python3 -> python3.6
0 lrwxrwxrwx. 1 root root 18 7月 27 11:37 python36 -> /usr/bin/python3.6
12 -rwxr-xr-x. 2 root root 11408 4月 26 05:05 python3.6
12 -rwxr-xr-x. 2 root root 11408 4月 26 05:05 python3.6m
[xiaole@localhost bin]$ sudo rm python
[xiaole@localhost bin]$ sudo ln -s python python36
ln: 无法创建符号链接"python36": 文件已存在
[xiaole@localhost bin]$ ll -as | grep python
12 -rwxr-xr-x. 1 root root 11232 12月 2 2016 abrt-action-analyze-python
0 lrwxrwxrwx. 1 root root 9 7月 27 11:34 python2 -> python2.7
8 -rwxr-xr-x. 1 root root 7216 6月 21 04:28 python2.7
0 lrwxrwxrwx. 1 root root 9 7月 27 11:37 python3 -> python3.6
0 lrwxrwxrwx. 1 root root 18 7月 27 11:37 python36 -> /usr/bin/python3.6
12 -rwxr-xr-x. 2 root root 11408 4月 26 05:05 python3.6
12 -rwxr-xr-x. 2 root root 11408 4月 26 05:05 python3.6m
[xiaole@localhost bin]$ ln -s python python3.6
ln: 无法创建符号链接"python3.6": 文件已存在
[xiaole@localhost bin]$ ln -s python3.6 python
ln: 无法创建符号链接"python": 权限不够
[xiaole@localhost bin]$ sudo ln -s python3.6 python
[xiaole@localhost bin]$ python
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[xiaole@localhost autocloudservices]$ sudo yum -y install gcc gcc-c++ zlib*;
[sudo] password for xiaole:
File "/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
[xiaole@localhost autocloudservices]$ which yum
/usr/bin/yum
[xiaole@localhost autocloudservices]$ sudo /usr/bin/yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
[xiaole@localhost autocloudservices]$ sudo vim /usr/bin/yum
[xiaole@localhost autocloudservices]$
Centos7 安装python3详细教程,解决升级后不兼容问题
https://www.jianshu.com/p/a538125371d4
运行yum安装其他软件可能出现以下错误,这也是因为Python版本问题,
vi /usr/libexec/urlgrabber-ext-down 修改第一行的Python为重命名的名字(指向python2.7的)
保留python2.7 修改安装过程python报错的python文件
#! /usr/bin/python --->
#! /usr/bin/python2.7
编译安装3.7.4
sudo yum install libffi-devel
which python
/usr/bin/python
cd /user/
sudo
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
tar -xvf Python-3.7.4.tar.xz
cd Python-3.7.4.tar.xz
./configure
make
make install
sudo ln -s /usr/Python-3.7.4/python /usr/bin/python374
which python374
/usr/bin/python374
关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。
#yum install libffi-devel -y
#make install
若在安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装,为节省读者时间,放上链接
#wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
#rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm
————————————————
原文链接:https://blog.csdn.net/qq_36416904/article/details/79316972
删除原python
sudo rm -rf /usr/bin/python
新建软连接到另一个软连接
sudo ln -s /usr/bin/python374 /usr/bin/python
注意 库文件的重新安装
Could not install packages due to an EnvironmentError: [Errno 13] 权限不够: '/usr/local/lib/python3.7/site-packages/six.py'
pip3 install -r requirements.txt
https://docs.python.org/3.7/whatsnew/3.7.html
ssl¶
The ssl module now uses OpenSSL’s builtin API instead of match_hostname() to check a host name or an IP address. Values are validated during TLS handshake. Any certificate validation error including failing the host name check now raises SSLCertVerificationError and aborts the handshake with a proper TLS Alert message. The new exception contains additional information. Host name validation can be customized with SSLContext.hostname_checks_common_name. (Contributed by Christian Heimes in bpo-31399.)
Note
The improved host name check requires a libssl implementation compatible with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no longer supported (see Platform Support Removals for more details). The ssl module is mostly compatible with LibreSSL 2.7.2 and newer.
The ssl module no longer sends IP addresses in SNI TLS extension. (Contributed by Christian Heimes in bpo-32185.)
match_hostname() no longer supports partial wildcards like www*.example.org. (Contributed by Mandeep Singh in bpo-23033 and Christian Heimes in bpo-31399.)
The default cipher suite selection of the ssl module now uses a blacklist approach rather than a hard-coded whitelist. Python no longer re-enables ciphers that have been blocked by OpenSSL security updates. Default cipher suite selection can be configured at compile time. (Contributed by Christian Heimes in bpo-31429.)
Validation of server certificates containing internationalized domain names (IDNs) is now supported. As part of this change, the SSLSocket.server_hostname attribute now stores the expected hostname in A-label form ("xn--pythn-mua.org"), rather than the U-label form ("pythön.org"). (Contributed by Nathaniel J. Smith and Christian Heimes in bpo-28414.)
The ssl module has preliminary and experimental support for TLS 1.3 and OpenSSL 1.1.1. At the time of Python 3.7.0 release, OpenSSL 1.1.1 is still under development and TLS 1.3 hasn’t been finalized yet. The TLS 1.3 handshake and protocol behaves slightly differently than TLS 1.2 and earlier, see TLS 1.3. (Contributed by Christian Heimes in bpo-32947, bpo-20995, bpo-29136, bpo-30622 and bpo-33618)
SSLSocket and SSLObject no longer have a public constructor. Direct instantiation was never a documented and supported feature. Instances must be created with SSLContext methods wrap_socket() and wrap_bio(). (Contributed by Christian Heimes in bpo-32951)
OpenSSL 1.1 APIs for setting the minimum and maximum TLS protocol version are available as SSLContext.minimum_version and SSLContext.maximum_version. Supported protocols are indicated by several new flags, such as HAS_TLSv1_1. (Contributed by Christian Heimes in bpo-32609.)
Added SSLContext.post_handshake_auth to enable and ssl.SSLSocket.verify_client_post_handshake() to initiate TLS 1.3 post-handshake authentication. (Contributed by Christian Heimes in bpo-34670.)
从下载新版OpenSsh
https://www.openssl.org/source/
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -sf /usr/local/bin/openssl /usr/bin/openssl
检查openssh版本
openssh version
[xiaole@test-proxy-2 root]$ /usr/local/bin/openssl version
OpenSSL 1.1.1d 10 Sep 2019
[xiaole@test-proxy-2 root]$
Python编译安装
--with-openssl=DIR root of the OpenSSL directory
--with-ssl-default-suites=[python|openssl|STRING]
Override default cipher suites string, python: use
Python's preferred selection (default), openssl:
leave OpenSSL's defaults untouched, STRING: use a
custom string, PROTOCOL_SSLv2 ignores the setting
Some influential environment variables:
MACHDEP name for machine-dependent library files
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
directories to add to pkg-config's search path
PKG_CONFIG_LIBDIR
path overriding pkg-config's built-in search path
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://bugs.python.org/>.
xiaole@test-proxy-2 Python-3.7.4]$ python3.7
Python 3.7.4 (default, Sep 23 2019, 17:24:04)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> import _ssl
>>>
zipimport.ZipImportError: can’t decompress data; zlib not available
缺少了zlib的解压缩类库,安装即可
yum -y install zlib*
python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz的更多相关文章
- python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz RHEL 8 install Python 3 or Python 2 using yum 编译安装 python3.7.4 . OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz Modules/Setup.dist https://askubuntu ...
- suse11 安装 python3.6 python3 安装步骤
首先需要去网上下载Python-3.6.4.tgz,libopenssl-devel-0.9.8j-2.1.x86_64.rpm zlib-devel-1.2.7-3.14.x86_64.rpm li ...
- linux7 安装 zlib依赖库 与安装python 3.6
Linux 安装zlib依赖库 进入src: cd /usr/local/src 下载zlib库: wget http://www.zlib.net/zlib-1.2.11.tar.gz 解压下载的t ...
- python3 安装
Centos7 安装python3 #安装sqlite-devel yum -y install sqlite-devel #安装依赖 yum -y install make zlib zlib-de ...
- 解决python3缺少zlib的问题
解决python3缺少zlib的问题 Table of Contents 1. 安装zlib 2. 重新编译安装python 3. 补充说明 在使用python3运行spark时,报缺少zlib的错误 ...
- Linux python3安装/shell脚本/if/循环/函数
python3安装 安装过程 安装包: wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgztar -xvf Python-3.7 ...
- python3安装,支持openssl,支持采集https
python3安装,支持openssl,支持采集https 坑好多,特别是安装的时候,各种不匹配,服务器默认配置是python2,升级3后,采集的时候用到openssl,花了两天也没搞定各种错误,也许 ...
- 如何在linux平台上编译安装zlib软件(公司部分线上机器缺少zlib不能安装supervisor)
文章在Centos 6.5 linux平台上演示一下如何进行编译安装zlib软件,并配置相关的选项加载使用.示范从下载到安装并配置进行使用过程一系列整套讲解,希望可以给网友考虑使用,谢谢. 工具 ...
- mac python3安装virtualenv出现的问题
pip3 install virtualenv pip3 install virtualenvwrapper 安装成功后可能 找不到该命令, 解决办法 1.在 vim ~/.bashrc export ...
随机推荐
- python初体验 ——>>> 模拟体育竞技
python初体验 ——>>> 模拟体育竞技 一.排球训练营 1. 简介: 模拟不同的两个队伍进行排球的模拟比赛. 2. 模拟原理: 通过输入各自的能力值(Ⅰ),模拟比赛的进行( P ...
- POJ 1383 Labyrinth (树的直径求两点间最大距离)
Description The northern part of the Pyramid contains a very large and complicated labyrinth. The la ...
- 【HIHOCODER1527 】 快速乘法
描述 在写代码时,我们经常要用到类似 x × a 这样的语句( a 是常数).众所周知,计算机进行乘法运算是非常慢的,所以我们需要用一些加法.减法和左移的组合来实现乘一个常数这个操作.具体来讲, 我们 ...
- python的cache修饰器
简单的memory cache.可以用来内存缓存任意函数方法. #!/usr/bin/python import functools from threading import RLock impor ...
- 查看java进程中哪个线程在消耗系统资源
1 top -p $pid -H 加上-H这个参数后,会列出有哪些线程.这样就可以看到哪个线程id最消耗系统资源了.看到的线程id是10进制的数字. 2 jstack $pid 可以打印出制定jav ...
- bzoj 1503[NOI 2004] 郁闷的出纳员
题目大意: 给4种操作 I:添加一个员工工资信息 A:增加所有员工的工资 S:减少所有员工的工资 F:询问工资第k高的员工的工资情况 自己做的第一道splay树的题目,初学找找感觉 #include ...
- 【ZJOI2017 Round1练习&BZOJ4765】D1T3 普通计算姬(主席树,分块)
题意: 思路:分块 使用树状数组维护sum[i]的前缀和 使用主席树维护root到u的路径上点的编号出现的个数 每次操作如果是修改就加入队列 如果是询问,考虑块内操作对询问的影响,每次在x点加上y会使 ...
- 【Tomcat】如何优化tomcat配置(从内存、并发、缓存4个方面)优化
一.Tomcat内存优化 ** Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数. JAVA_O ...
- 通过分析exevc系统调用处理过程来理解Linux内核如何装载和启动一个可执行程序
前言说明 本篇为网易云课堂Linux内核分析课程的第七周作业,本次作业我们将具体来分析exec*函数对应的系统调用处理过程,来分析Linux内核如何来执行一个可执行程序,由于有一个在网易云课堂共同学习 ...
- centos7 网络设置
1.显示所有连接的网络接口 ip link show 2.激活或禁止网络接口 sudo ip link set up/down {dev} 3.将一个或多个IPv4地址分配给网络接口$ sudo ip ...