(请原谅我的英语)
我的服务器操作系统是Ubuntu20.04。在Ubuntu20.04中,我们知道默认情况下安装了Python3.8,许多系统应用程序都运行在Python3.8上。
我还在我的Ubuntu服务器上安装了Python3.9。我的服务器有一段时间运转正常。
但是,当我升级Python的全局模块(3.8和3.9 )时,出现了问题。一些系统程序(如Software Updater和Software and Update )无法工作。他们给出了错误,说找不到一些Python全局模块。我试图通过重新安装python全局模块来解决这个问题,但无法修复。
对于整个服务器系统,我不需要Python3.9,只需要少数非根用户帐户。唯一需要的全局模块是pip和venv。其他模块可以安装在项目基础上。
因此,我尝试将Python3.9安装为一个非根用户。但是出现了一些错误,并且失败了。
如何为非根用户安全地安装Python3.9(或更高版本)?
发布于 2021-12-04 16:39:18
您可能需要检查映射了哪个版本的python3。
ls -l /usr/bin/python3如果符号链接位于python3.8 3.9,则可以尝试使用以下命令恢复到python3.8 3.8版本
cd /usr/bin/
sudo ln -sf python3.8 python3事实上,这并不是一个大问题,因为您可以有多个系统python版本。如果用户需要使用python3.9,只需使用python3.9 <your script>.py
发布于 2021-12-04 23:44:43
Ubuntu20.04及更高版本的默认存储库中有python3.9包。它可以与默认的python3.8包一起安装,sudo apt update && sudo apt install python3.9从默认的Ubuntu存储库安装python3.9包可以简化包管理。
如果您使用的是Ubuntu20.04,请保留Python3.8作为默认的Python3.x版本,并且只在必要时使用update-alternatives切换到Python3.9。使用Python3.9之后,您可以将它切换回默认的Python3版本。
update-alternatives --list pythonupdate-alternatives --config python从终端命令行按下以保持当前的选择*,或者键入选择号:发布于 2022-08-17 19:43:18
如果您要求安装一个可作为非根用户在系统范围内使用的python版本,那么我还没有找到一个很好的方法来做到这一点。但是,在您的系统上同时提供多个版本的python没有问题。从python网站下载适当的.tgz文件。然后(我将使用3.10.6版本来说明):
# tar xfp Python-3.10.6.tgz
# cd Python-3.10.6
# ./configure --prefix=/usr/local --exec_prefix=/usr/local --enable-optimizations
# make
# make altinstall就这样。只要/usr/local/bin在您的路径中,您就可以通过键入以下命令来执行这个版本的python:
$ python3.10若要添加带有pip的包,请使用
# pip3.10 install <a_package>它将将包添加到/usr/local/lib下3.10.6 install的文件夹中。
https://askubuntu.com/questions/1379200
复制相似问题