CentOS 7上安装Python 3.11.5,支持Django

这篇具有很好参考价值的文章主要介绍了CentOS 7上安装Python 3.11.5,支持Django。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CentOS 7上安装Python 3.11.5,支持Django

今天安装django,报了“Django - deterministic=True requires SQLite 3.8.3 or higher upon running python manage.py runserver”。查了一番资料,记录下来。

参考链接:

参考链接: Django的web项目部署至Centos7服务器并配置域名访问.
参考链接: Centos7安装Python3和升级SQLite高版本.
参考链接: configure指定编译头文件和库文件路径.

安装要求

  1. CentOS 7.9
  2. Python 3.11.5
  3. Django 4.2.5

安装步骤

下载文件

wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz 
wget https://www.sqlite.org/2023/sqlite-autoconf-3430000.tar.gz --no-check-certificate
wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz

准备环境

Centos 7可使用yum直接升级openssl-devel至1.0.2,正常可以直接装python3.11,如果无法导入ssl可采用下列编译安装openssl。

安装openssl
  1. 编译安装openssl
tar -zxvf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
#./config --prefix=/usr/local/openssl no-zlib      #不需要zlib
./config --prefix=/usr/local/openssl

显示结果

Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1d (0x1010104fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                      ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                 ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)           ***
***                                                                ***
**********************************************************************
make && make install && make clean
  1. 配置openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
# 直接添加link,否则装包的时候经常找不到库,比如装uwsgi
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/local/lib64/libcrypto.so
#  pip安装uwsgi时的报错信息。
    /usr/bin/ld: 找不到 -lssl
    /usr/bin/ld: 找不到 -lcrypto
    collect2: 错误:ld 返回 1
    *** error linking uWSGI ***
  1. 修改系统配置
#写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf.d/openssl-x86_64.conf 
#使修改后的/etc/ld.so.conf生效
ldconfig -v
#查看所需的动态库
ldd /usr/local/openssl/bin/openssl
  1. 验证版本
openssl version -a
# 显示结果
OpenSSL 1.1.1d  10 Sep 2019
  1. 卸载系统安装openssl-devel以免版本冲突(如果系统已安装了)
yum remove openssl-devel
安装SQLite3
  1. 编译安装sqlite3
tar -zxvf sqlite-autoconf-3430000.tar.gz
cd sqlite-autoconf-3430000/
mkdir /usr/local/sqlite3.43
./configure --prefix=/usr/local/sqlite3.43/
make && make install
make clean
  1. 配置sqlite3
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
ln -s /usr/local/sqlite3.43/bin/sqlite3 /usr/bin/sqlite3
  1. 修改系统配置
#写入sqlite3库文件的搜索路径
echo "/usr/local/sqlite3.43/lib" > /etc/ld.so.conf.d/sqlite3.conf 
#使修改后的/etc/ld.so.conf生效
ldconfig -v
#查看所需的动态库
ldd /usr/local/sqlite3.43/bin/sqlite3 
  1. 验证版本
sqlite3 --version 
# 显示结果
3.43.0 2023-08-24 12:36:59 0f80b798b3f4b81a7bb4233c58294edd0f1156f36b6ecf5ab8e83631d468778c (64-bit)

安装依赖包

yum -y install gcc gcc-c++ zlib-devel bzip2-devel  ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel  expat-devel gdbm-devel  make

安装Python

  1. 准备文件
tar -zxvf Python-3.11.5.tgz
cd Python-3.11.5
  1. 编译安装
# 需要配置LD_RUN_PATH指定依赖的搜索目录,LDFLAGS指定库文件路径,CPPFLAGS指定头文件路径
# 如果是编译安装了openssl,需要指定新版路径
./configure LD_RUN_PATH=usr/local/sqlite3.43/lib LDFLAGS="-L/usr/local/sqlite3.43/lib" CPPFLAGS="-I/usr/local/sqlite3.43/include" --prefix=/usr/local/python3.11 --with-openssl=/usr/local/openssl 

# 编译并安装 altinstall 不自动创建链接,需要手动创建,建议使用,保障多个版本共存。
make && make  altinstall 
make clean
make distclean
  1. 建立链接
ln -s /usr/local/python3.11/bin/python3.11 /usr/local/bin/
ln -s /usr/local/python3.11/bin/pip3.11 /usr/local/bin/
  1. 验证结果
python3.11

显示结果

Python 3.11.5 (main, Sep  4 2023, 19:12:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> 

5、补充说明
之前在Centos6.8上安装Python3.8遇到过死活不能import ssl
参考了https://blog.csdn.net/weixin_30951743/article/details/99891139 .最后成功安装,留做备用信息。

# cd openssl-1.1.1d
# ./config --prefix=$HOME/openssl shared zlib   # 这里不同,装了shared zlib 和 $HOME路径
# make && make install

# echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
# source $HOME/.bash_profile
# cat $HOME/.bash_profile          

# cd Python-3.8.3
# ./configure --prefix=/usr/local/python3.8 --with-openssl=$HOME/openssl
# make && make  altinstall 
# make clean
# make distclean

修改PIP源

指定公司内部源(生产环境不能访问外网)
pip3.11 config set global.trusted-host 10.100.224.65 
pip3.11 config set global.index-url http://10.100.224.65/root/pypi/+simple/
pip3.11 config set search.index http://10.100.224.65/root/pypi/

或者直接修改文件也可以.
参考: https://www.cnblogs.com/cou1d/p/12403097.html.

mkdir ~/.pip
vim ~/.pip/pip.conf

增加以下内容(以阿里源为例)

[global]
timeout = 6000  
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
临时指定源安装(以豆瓣源为例)
pip3.11 install pygame -i https://pypi.doubanio.com/simple

安装Django

  1. 创建沙箱
python3.11 -m venv /opt/dev/venv/django_test
  1. 安装Django
pip3.11 install django
pip3.11 list

显示结果

Package            Version
------------------ ---------
asgiref            3.7.2
certifi            2023.7.22
charset-normalizer 3.2.0
Django             4.2.5
idna               3.4
pip                23.2.1
PyMySQL            1.1.0
requests           2.31.0
setuptools         65.5.0
sqlparse           0.4.4
urllib3            2.0.4
  1. 创建项目
cd /opt/dev
/opt/dev/venv/django_test/bin/django-admin startproject django_test

显示结果

(django_test) [root@centos7-18 django_test]# pwd
/opt/dev/django_test
(django_test) [root@centos7-18 django_test]# ls
db.sqlite3  django_test  manage.py
  1. 启动项目
python3.11 manage.py runserver

显示结果文章来源地址https://www.toymoban.com/news/detail-706459.html

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
September 04, 2023 - 12:11:22
Django version 4.2.5, using settings 'django_test.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

到了这里,关于CentOS 7上安装Python 3.11.5,支持Django的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos 安装 python3.x 为默认

    CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x。但由于python2.x是系统集成的,很多命令都是要基于python2.x,比如:yum。因此在更新 Python 时,建议新旧版本共存。 yum安装,简单方便,但是版本受限 源码安装,较yum安装复

    2023年04月25日
    浏览(28)
  • Linux (centos) 安装Python3.9(保姆级别)

    项目运行需要python环境 ,推荐python3以上,作者使用的是python3.9.7,以下是安装步骤: 特别注意,Linux通常附带大多数Python都是2.7.5版本。如果我们想使用Python3,最好安装一个新的Python3环境,但请不要尝试删除Python2,避免引起不必要的麻烦。 1. 更新系统软件包(可以使用cent

    2024年02月07日
    浏览(49)
  • CentOS7安装python3超详细教程

    欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起探讨和分享Linux C/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 专栏:《Linux从小白到大神》 1.检查CentOS7自带python环境 Linux下自带python环境,但是Linux自带的python一般是比较老

    2024年02月02日
    浏览(35)
  • centos python3 安装psycopg2 模块

    安装异常 先安装postgresql-devel 再安装 psycopg2库介绍 psycopg2库介绍: Psycopg2是一个用于Python编程语言的第三方库,用于访问PostgreSQL数据库系统。它提供了一组工具和方法,可以轻松地在Python程序中进行数据库操作,包括查询、插入、更新、删除等操作。 以下是Psycopg2库的一些主

    2024年02月16日
    浏览(33)
  • CentOS7安装python3.9 极其简单!!!

    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make yum -y install epel-release yum -y install python-pip wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz tar -xvf Python-3.9.0.tar.xz cd Python-3.9.0 ./configure prefix=/usr/local/python3 make make install ln -s /usr/local/python3/bin

    2024年02月09日
    浏览(32)
  • centos7.9编译安装python3.7.2

    联网环境下编译安装python3.7.2,不联网则需要配置cnetos7.9离线源 下载解压软件包 安装依赖 编译安装 验证

    2024年02月06日
    浏览(33)
  • 如何在centos安装python3.8.8?详细教程

    在CentOS上安装Python 3.8.8。以下是详细的教程: 步骤 1:更新系统 确保您的CentOS系统是最新的,运行以下命令来更新系统: 步骤 2:安装依赖项 安装编译和构建Python所需的依赖项: 步骤 3:下载Python 3.8.8 在Python官方网站上下载Python 3.8.8的源代码: 步骤 4:解压源代码 解压下载

    2024年02月07日
    浏览(30)
  • 【Stable Diffusion安装】支持python3.11 window版

    主要的安装步骤是参考B站播放量第一的视频,但是那位阿婆主应该是没有编程经验,只强调使用 3.10 ,而python最新版本是 3.11 。 理论上来说,只是一个小版本的不同,应该是可以安装成功了。自己摸索了下,挺费劲了,故记录下,支持最新版 python3.11 的安装经验。 这里建议

    2024年02月09日
    浏览(29)
  • 虚拟机Linux(centos)安装python3.8(超详细)

    下载地址:https://www.python.org/downloads/source/ 输入下面网址即可直接下载: python3.8:https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz python3.6:https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz ​补充:本环境选择版本是3.8版本,最好以root身份登录,避免不必要的麻烦 cat /proc/version      

    2024年04月23日
    浏览(46)
  • centos7通过yum方式安装python3.8

    1、在CentOS或RHEL系统上安装额外的企业级Linux软件包(EPEL)存储库。EPEL存储库提供了一些在默认存储库中不可用的附加软件包。如果您想要使用EPEL存储库中的软件包,您需要在系统上具有管理员权限。 2、在CentOS或RHEL系统上安装 yum-utils 软件包。 yum-utils 软件包提供了一组工

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包