linux上面python升级

本文介绍在Linux环境中安装Python3的具体步骤,并解决安装过程中遇到的问题,如yum异常等。同时提供如何切换不同Python版本的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在linux上面搭个python的开发环境,可是还是遇到了很多问题,记录一下过程:

1、python升级

 

查看python版本

python -V
Python 2.4.3

因为python3的变化很大

官网下载
Python-3.2a1.tgz
cd /usr/local/src

复制代码

解压安装:

tar -zxvf Python-3.2a1.tgz
cd Python-3.2a1
./configure
make all
make install

因为python是用C写的,所以需要用gcc进行编译,所以需要先安装gcc。

安装完毕,安装完的后续工作:

make clean
make distclean

再查看版本:

$ python3.2 -V
Python 3.2a1

2、python升级带来的yum异常

python升级后,发现yum无法使用了,

$ yum  
    File "/usr/bin/yum", line 30    
        except KeyboardInterrupt, e:                            
                                ^
SyntaxError: invalid syntax


修改yum的解释器为旧版本python2.4:

vi /usr/bin/yum

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.4"即可



修改默认版本:

   $ cd /usr/bin

   $ ll |grep python //查看该目录下python

   $ rm -rf python

   $ ln -s 安装目录前缀/Python-2.5.2/python ./python //可能需要root权限,可用sudo ... 

   $ python -V



算了,先能用再说:修改yum配置文件,解决!

<think>我们正在讨论的是在Linux系统上安装Python程序。根据引用内容,这里有两种情况:1.安装Python解释器本身(即Python环境)2.安装Python的第三方包(即依赖包)用户上一次的问题是关于如何从指定的本地目录(packages目录)安装Python依赖包,而当前用户的问题是“如何在Linux系统中安装Python程序”。结合引用内容,我们需要明确用户具体想安装的是Python解释器还是Python应用程序(即一个Python脚本或项目)。但根据引用[3]提到“启动程序python3/usr/local/python/app.py”,这里“安装Python程序”可能是指将一个Python应用程序部署到Linux系统并运行。因此,我们需要分两部分回答:A.安装Python解释器(如果系统还没有的话)B.部署并运行Python应用程序另外,引用[1]和[2]都提到了在Linux上安装Python解释器,引用[5]提到了安装Python的前置依赖。因此,回答结构如下:1.安装Python解释器(如果系统没有预装或需要特定版本)1.1安装依赖1.2下载Python源码1.3编译安装2.安装Python应用程序的依赖包(可能从本地目录,也可能从网络)3.部署Python应用程序并运行注意:用户之前的问题是从本地packages目录安装依赖包,这里需要结合。我们假设用户现在要在Linux系统上部署一个Python应用程序(即一个项目),并且这个项目的依赖包已经下载到了本地的某个目录(比如/path/to/packages),或者我们需要说明如何安装依赖。根据引用[3],部署步骤包括:-拷贝python程序到Linux系统-安装依赖(可能使用pip)-启动程序具体步骤:第一部分:安装Python解释器(如果需要的话)引用[5]:在安装Python之前需要安装一些依赖包。步骤:1.更新系统包```bashsudoaptupdate#对于Debian/Ubuntu#或者sudoyumupdate#对于CentOS/RHEL```2.安装编译依赖```bash#对于Debian/Ubuntusudoaptinstall-ybuild-essentialzlib1g-devlibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibreadline-devlibffi-devlibsqlite3-devwgetlibbz2-dev#对于CentOS/RHEL(引用[5]的命令)sudoyuminstall-ywgetzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgccmakelibffi-devel```3.下载Python源码(引用[4])```bash#以Python3.9为例,替换成你需要的版本wgethttps://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz```4.解压并编译安装```bashtar-xvfPython-3.9.16.tgzcdPython-3.9.16./configure--enable-optimizationsmake-j$(nproc)sudomakealtinstall#使用altinstall以避免覆盖系统默认的python命令```5.验证安装```bashpython3.9--version```注意:引用[1]提到,不要更改系统默认的python命令(因为系统工具依赖python2),所以我们使用altinstall,并调用时使用python3.9(或具体版本)。第二部分:部署Python应用程序步骤:1.将你的Python程序(例如整个项目目录)拷贝到Linux系统的目标路径,例如/usr/local/python(引用[3])```bashsudocp-r/path/to/your/python/project/usr/local/python```2.创建虚拟环境(可选,但推荐)```bashcd/usr/local/pythonpython3.9-mvenvvenv#使用前面安装的python3.9sourcevenv/bin/activate```3.安装项目依赖情况一:从网络安装(如果有网络)```bashpipinstall-rrequirements.txt```情况二:从本地目录安装(如用户之前的问题)```bashpipinstall--find-links=/path/to/packages-rrequirements.txt#或者如果完全离线,添加--no-indexpipinstall--no-index--find-links=/path/to/packages-rrequirements.txt```4.启动程序(引用[3])```bashpythonapp.py#或者使用具体的入口文件#或者后台运行nohuppythonapp.py>app.log2>&1&```第三部分:设置系统服务(可选,用于长期运行)可以创建一个systemd服务文件来管理应用程序的启动、停止和状态。例如:创建/etc/systemd/system/yourapp.service```[Unit]Description=YourPythonApplication[Service]WorkingDirectory=/usr/local/pythonExecStart=/usr/local/python/venv/bin/pythonapp.pyRestart=alwaysUser=your_username[Install]WantedBy=multi-user.target```然后启动服务:```bashsudosystemctldaemon-reloadsudosystemctlstartyourappsudosystemctlenableyourapp```注意事项:-确保你的应用程序有可执行权限(如果需要的话)-如果使用虚拟环境,启动时确保使用虚拟环境的python解释器(如上面的ExecStart所示)相关问题:1.如何在Linux系统中安装Python3.9?2.如何将Python程序部署到Linux服务器并后台运行?3.在离线环境中如何安装Python依赖包?4.如何创建Systemd服务来管理Python程序?5.如何在Linux中创建Python虚拟环境?6.如何避免升级Python版本影响系统工具?注意:引用标记在回答中,当我们提到根据引用[3]的步骤时,我们在相应位置添加[^3]。</think> ### 如何在 Linux 系统中安装 Python 程序 在 Linux 系统上安装 Python 程序主要包括三个核心步骤,以下流程兼容主流发行版(Ubuntu、CentOS 等): #### 一、安装 Python 解释器(系统级环境) 1. **安装编译依赖** ```bash # Ubuntu/Debian sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev # CentOS/RHEL sudo yum groupinstall "Development Tools" sudo yum install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc libffi-devel ``` [^5] 2. **下载并编译 Python** ```bash # 下载源码(以 Python 3.10 为例) wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz # 解压并编译 tar -xvf Python-3.10.13.tgz cd Python-3.10.13 ./configure --enable-optimizations make -j$(nproc) sudo make altinstall # 注意用 altinstall 避免覆盖系统 Python ``` [^4] 3. **验证安装** ```bash python3.10 --version # 应输出: Python 3.10.13 ``` #### 二、部署 Python 应用程序 1. **创建专用目录** ```bash sudo mkdir -p /usr/local/python/apps sudo chown $USER:$USER /usr/local/python/apps ``` 2. **拷贝程序文件** 通过 SCP 或 SFTP 上传程序: ```bash scp -r your_app/ user@server_ip:/usr/local/python/apps/ ``` 3. **安装程序依赖** 在程序目录中执行: ```bash cd /usr/local/python/apps/your_app python3.10 -m pip install -r requirements.txt ``` 若需从本地 packages 目录安装: ```bash python3.10 -m pip install --no-index --find-links=/path/to/packages -r requirements.txt ``` #### 三、运行与管理程序 1. **直接运行** ```bash python3.10 /usr/local/python/apps/your_app/main.py ``` 2. **后台守护模式** ```bash nohup python3.10 /usr/local/python/apps/your_app/main.py > app.log 2>&1 & ``` 3. **配置 Systemd 服务(推荐)** 创建 `/etc/systemd/system/your_app.service`: ```ini [Unit] Description=Your Python Application After=network.target [Service] User=your_username WorkingDirectory=/usr/local/python/apps/your_app ExecStart=/usr/local/bin/python3.10 /usr/local/python/apps/your_app/main.py Restart=always [Install] WantedBy=multi-user.target ``` 启用服务: ```bash sudo systemctl daemon-reload sudo systemctl start your_app sudo systemctl enable your_app ``` [^3] --- ### 关键注意事项 1. **Python 版本隔离** - 使用 `altinstall` 避免影响系统默认 Python(如 yum 依赖 Python 2) - 通过 `python3.10` 明确指定版本调用[^1] 2. **环境隔离** 推荐使用虚拟环境: ```bash python3.10 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` 3. **权限管理** - 避免使用 root 运行应用 - 通过 `chown` 设置合理目录权限[^3] --- ### 相关问题 1. 如何升级现有 Python 版本而不影响系统工具?[^1] 2. 如何排查 Python 程序在 Linux 上的依赖冲突? 3. Systemd 服务日志如何与 Python 日志集成? 4. 在没有互联网的 Linux 服务器如何离线安装 Python 包?[^5] 5. 如何配置 Nginx 反向代理 Python Web 应用? 6. 使用 `venv` 和 `Docker` 部署 Python 应用的优劣对比? > 注:实际操作前请备份重要数据,生产环境建议先在测试机验证流程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值