[software development] 在Deepin系统上配置Python开发环境
Tofloor
poster avatar
182******91
deepin
2024-08-07 20:30
Author

在Deepin系统上配置Python开发环境

简介

为了帮助Python初学者在Deepin系统上尽快配置好一个能用的Python开发环境,本教程介绍了相关的步骤。

本教程主要是在Deepin系统上直接安装相关软件,并尽量依系统自带软件,比如其自研的IDE。

对于一些更高级的开发需求来说,还可以考虑安装VS Code、Anaconda等软件。

安装Python

更新系统:

sudo apt update && sudo apt upgrade

卸载不需要的软件包:

sudo apt autoremove

检查Python版本:

python3 --version

如果未安装,可以执行以下命令:

sudo apt install python3

安装pip

安装 pip

sudo apt update
sudo apt install python3-pip

运行情况(部分):

sudo apt install python3-pip
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  build-essential dh-python g++ g++-8 libexpat1-dev libpython3-dev
  libpython3.7-dev libstdc++-8-dev python-pip-whl python3-asn1crypto
  python3-cffi-backend python3-crypto python3-cryptography python3-dev
  python3-entrypoints python3-keyring python3-keyrings.alt
  python3-pkg-resources python3-secretstorage python3-setuptools python3-six
  python3-wheel python3-xdg python3.7-dev
建议安装:
  g++-multilib g++-8-multilib gcc-8-doc libstdc++6-8-dbg libstdc++-8-doc
  python-crypto-doc python-cryptography-doc python3-cryptography-vectors
  gir1.2-gnomekeyring-1.0 python-secretstorage-doc python-setuptools-doc
下列【新】软件包将被安装:
  build-essential dh-python g++ g++-8 libexpat1-dev libpython3-dev
  libpython3.7-dev libstdc++-8-dev python-pip-whl python3-asn1crypto
  python3-cffi-backend python3-crypto python3-cryptography python3-dev
  python3-entrypoints python3-keyring python3-keyrings.alt python3-pip
  python3-pkg-resources python3-secretstorage python3-setuptools python3-six
  python3-wheel python3-xdg python3.7-dev
升级了 0 个软件包,新安装了 25 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 63.4 MB 的归档。
解压缩后会消耗 139 MB 的额外空间。
您希望继续执行吗? [Y/n]

检查是否已安装 pip

pip --version

运行结果:

pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

升级pip:

pip3 install --upgrade pip

配置虚拟环境

创建虚拟环境:

使用 venv模块创建一个虚拟环境,这样可以为每个项目隔离依赖:

python3 -m venv myenv

myenv是你虚拟环境的名称,你可以根据需要命名。

运行结果如下:

python3 -m venv test
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/wst/test/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

上述信息提示安装 python3-venv

sudo apt install python3-venv

运行结果如下(部分):

sudo apt install python3-venv
请输入密码:
验证成功
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  python3.7-venv
下列【新】软件包将被安装:
  python3-venv python3.7-venv
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 7,320 B 的归档。
解压缩后会消耗 44.0 kB 的额外空间。
您希望继续执行吗? [Y/n]

激活虚拟环境:

source myenv/bin/activate

退出虚拟环境:

deactivate

安装linter和formatter

为了提高代码质量,安装linter和formatter,如flake8和black:

pip install flake8 black

在编程中,"linter" 和 "formatter" 是两种不同的工具,它们帮助提高代码的质量和一致性:

  1. Linter(语法检查工具)

    • Linter 是一种静态代码分析工具,用于检查代码中的错误、潜在问题以及不符合编码标准的地方。
    • 它能够在代码运行之前,通过分析代码的语法和结构来发现问题,如语法错误、未使用的变量、复杂的表达式、拼写错误等。
    • Linter 通常可以配置规则,以适应不同的编码标准和个人偏好。

    对于 Python,flake8 是一个流行的 linter 工具,它集成了多个检查器,包括对代码风格、编程错误和复杂度的检查。

  2. Formatter(代码格式化工具)

    • Formatter 是自动格式化代码的工具,使代码风格保持一致,遵循特定的编码规范。
    • 它可以自动调整代码格式,如缩进、括号、空格、换行等,确保代码的整洁和一致性。
    • Formatter 通常可以配置格式化规则,以符合项目或团队的编码风格指南。

    black 是 Python 中一个流行的 formatter,它使用 PEP 8 作为默认的代码风格指南,并提供一致的格式化结果,减少人为的主观判断。

配置 PATH 环境变量

安装一些库后,出现报错(部分):

  WARNING: The script pyflakes is installed in '/home/wst/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.                                          
  WARNING: The script pycodestyle is installed in '/home/wst/.local/bin' which is not on PATH.                                                               
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.                                          
  WARNING: The script flake8 is installed in '/home/wst/.local/bin' which is not on PATH.                                                                    
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.                                          
  WARNING: The scripts black and blackd are installed in '/home/wst/.local/bin' which is not on PATH.                                                        
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.                                          

这些警告信息表明,pyflakespycodestyleflake8blackblackd 这些Python脚本安装在 /home/wst/.local/bin 目录下,但这个目录不在系统的环境变量 PATH 中。因此,当你尝试在终端中运行这些脚本时,系统可能找不到它们。

修改你的 PATH 环境变量,将 ~/.local/bin 添加到里面。这样,系统就能在任何位置下找到这些脚本。

对于基于bash的shell,比如你可以通过修改 ~/.bashrc~/.profile 文件来添加以下行:

export PATH=$PATH:~/.local/bin

然后,运行以下命令使更改生效:

source ~/.bashrc

或者,如果你修改的是 .profile,则使用:

source ~/.profile

对于其他类型的shell,比如zsh,你可能需要修改 ~/.zshrc 文件。

你可以使用以下命令来查看当前的 PATH 环境变量:

echo $PATH

安装Python库

使用 pip安装项目所需的库。

例如,如果你需要安装 pygame,可以运行以下命令:

pip install pygame

使用Turtle

Turtle是一个简单的绘图工具,允许我们通过控制一个虚拟的乌龟(turtle)在屏幕上移动来绘制图形。Turtle库通常包含在Python中。

尝试在Python解释器中导入 turtle,报错如下:

python3
Python 3.7.3 (default, Nov  1 2022, 10:27:39) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import turtle
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python3.7/turtle.py", line 107, in 
    import tkinter as TK
ModuleNotFoundError: No module named 'tkinter'

错误信息表明 Python 3.7.3 环境中缺少 tkinter 模块,而 turtle 模块依赖于 tkinter 来运行。tkinter 是 Python 的标准 GUI(图形用户界面)库。要解决这个问题,你需要安装 tkinter

对于基于 Debian 的系统如 Deepin,使用以下命令:

sudo apt update
sudo apt install python3-tk

运行过程如下(部分):

sudo apt install python3-tk
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  blt libtk8.6 tk8.6-blt2.5
建议安装:
  blt-demo tk8.6 tix python3-tk-dbg
下列【新】软件包将被安装:
  blt libtk8.6 python3-tk tk8.6-blt2.5
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 1,468 kB 的归档。
解压缩后会消耗 4,962 kB 的额外空间。

安装完成后,你应该能够成功导入 turtle 模块。

配置Deepin Union Code

我们选择使用系统自带的Deepin Union Code这个IDE。该IDE可能会要求用户安装以下软件:

pip3 install debugpy python-language-server

通过Deepin Union Code打开一个Python工程后,可以参照这个教程上的说法,进行Python相关配置。

该IDE还预置了CodeGeeX插件。建议登录该软件,使用其AI功能。

Reply Favorite View the author
All Replies
三好市民
deepin
2024-08-07 20:52
#1

多谢分享,收藏备用

Reply View the author
neko
deepin
Ecological co-builder
2024-08-07 21:33
#2

好贴

Reply View the author
okk~
deepin
2024-08-07 21:34
#3

多谢分享,收藏备用

Reply View the author
什么是快乐星球
deepin
2024-08-07 22:05
#4

多谢分享

Reply View the author
风月相知
deepin
2024-08-07 22:25
#5

非常不错,还有什么别的好东西多分享分享

Reply View the author
倒吸一口凉屁
deepin
2024-08-08 09:06
#6
sudo apt autoremove

这个命令有疑义,我个人觉得只有不要的系统或虚拟机快照才能这样执行,会卸载系统依赖,其他软件有可能不正常。

Reply View the author
乾豫恒益
deepin
2024-08-08 09:42
#7

好详细啊,一会试试。。。

Reply View the author
Mozart
deepin
2024-08-09 09:58
#8

如果需要开发AI,可以用“开发部署工具”辅助装一些包

Reply View the author