Ubuntu 20.04 设置 Python 项目环境
今天,我们将学习在 Ubuntu 20.04 下为你的 Python 项目设置环境的众多方法之一。
原因
我最近参与了一项技术测试,该测试是 Python Jr 开发工作选择过程的一部分。测试附带问题描述、预期解决方案、部署指南和初始框架。在那个框架中出现了一个Pipfile安装了一些库并定义了 Python 版本的框架。这就是问题所在:Ubuntu 20.04 中的 Python 版本是3.8,项目要求使用3.9版本 ,然后我想:好吧,那就让我们安装 Python 3.9!但事情没那么简单……
我遇到了以下问题:
- 安装新版本不会使其成为系统默认值
- 此后,pip, pipenv没有按照我想要的Python版本进行适当的配置。
现在,我将向您展示我的详细分步解决方案。
安装新的 Python 版本
为了安装 Python 3.9 版,我最终使用了存储库,而不是通过编译源代码来进行安装。
添加存储库:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository ppa:deadsnakes/ppa
更新软件包列表:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
安装软件包:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install python3.9
可选(实际上,我建议您这样做),你可以将 Python 3.9 添加到系统 PATH:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/profile.d/python.sh
并添加:
PATH=/opt/python/3.9/bin/:$PATH
这将允许用户在终端中运行 pip 命令以在主目录中安装软件包。
将新版本设置为默认版本
检查是否有不同版本的Python的替代方案:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –list python
如果它不存在,则会出现以下消息:
update-alternatives: 错误: 无 python 的候选项
然后执行:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.8 1
输出:
update-alternatives: 使用 /usr/bin/python3.8 来在自动模式中提供 /usr/bin/python (python)
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.9 2
输出:
update-alternatives: 使用 /usr/bin/python3.9 来在自动模式中提供 /usr/bin/python (python)
之后,你运行以下命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –config python
然后你会看到如下输出:
有 <span style="color: #b65611;">2</span> 个候选项可用于替换 python (提供 /usr/bin/python)。 选择 路径 优先级 状态 ------------------------------------------------------------ * <span style="color: #b65611;">0</span> /usr/bin/python3<span style="color: #b65611;">.9</span> <span style="color: #b65611;">2</span> 自动模式 <span style="color: #b65611;">1</span> /usr/bin/python3<span style="color: #b65611;">.8</span> <span style="color: #b65611;">1</span> 手动模式 <span style="color: #b65611;">2</span> /usr/bin/python3<span style="color: #b65611;">.9</span> <span style="color: #b65611;">2</span> 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号:
在上面的示例中,我最终选择了数字 2,因为它是我希望从现在开始成为默认版本的 Python 版本。
完成后,检查下 Python 版本
linuxmi@linuxmi:~/www.linuxmi.com$ python –version
输出:
Python 3.9.7
此时,我们已经正确安装了所需的 Python 版本,并且是系统的默认版本。
pip 和 pipenv 的问题
即使您将另一个版本的 Python 设置为默认值,安装 pip 和 pipenv 最终也会转到 Python 3.8 PATH。 因此,为了安装指向 Python 3.9 的 pip,我最终正常安装了 pip,然后按如下方式更新了 pip:
linuxmi@linuxmi:~/www.linuxmi.com$ curl https://bootstrap.pypa.io/get-pip.py -o get-piy.py
进而运行:
linuxmi@linuxmi:~/www.linuxmi.com$ python3.9 get-pip.py
输出如下:
Defaulting to user installation because normal site-packages is not writeable
Collecting pip
Downloading pip-21.2.4-py3-none-any.whl (1.6 MB)
|████████████████████████████████| 1.6 MB 5.0 kB/s
Installing collected packages: pip
Successfully installed pip-21.2.4
如果有权限问题,可以使用 sudo 或使用 –user 标志运行命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo python3.9 get-pip.py
linuxmi@linuxmi:~/www.linuxmi.com$ python3.9 get-pip.py –user
之后,确保 pip 绑定到 Python 3.9 版:
linuxmi@linuxmi:~/www.linuxmi.com$ pip –version
预期的输出应该是这样的:
pip 21.2.4 from /home/linuxmi/.local/lib/python3.9/site-packages/pip (python 3.9)
正如我之前提到的,我需要安装 Pipfile 依赖项,所以我需要 pipenv。 我这里是运行 pip install pipenv,pipenv 还没有链接到旧版本。 如果发生这种情况,请运行:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo pip install pipenv
并且该软件包将安装在 3.9 版本中。
总结
如果你到此为止并解决了问题,那么恭喜! 功劳不属于我而归于你寻求解决方案! 如果没有,请告诉我们问题是什么,以便我们可以帮助你。感谢阅读,更多资讯及教程请关注Linux迷。
The post Ubuntu 20.04 设置 Python 项目环境 first appeared on Linux迷.
共有 0 条评论