用习惯了Windows操作系统下的Anaconda里的Spyder编辑器,安装一键到底,很多常用的包都是自带的,使用方便。来到UOS里各种不适应,安装时缺各种依赖包,好比吃惯了外卖这次要自己做饭一样。不过最终还是配置好了,这里把安装和配置的过程记录一下,避免过两个月又忘了。

首先是软硬件环境:统信(UOS)专业版(1040),内核版本:4.19.71-arm64-desktop,处理器HUAWEI Kirin 990,内存8GB。Python用的是3.9.10,Pycharm用的是应用商店里的pycharm (hisi kirin)社区版2020.1.2。

我开始先装的pycharm,在应用商店里直接安装了,后台静默安装,全程无感,打开pycharm软件需要进行设置,勾选知情同意的选项,然后continue。

数据共享(Data Sharing)这里选Don't Send。进入编程界面前会有配置的引导菜单,直接跳过(skip),这些设置和界面的风格可以在菜单里后期慢慢调。

装好了这些以后,可以建立一个MyProj的工程文件。在pycharm中,具体的.py文件是挂在特定的工程文件下的,每个工程文件会有自己独立的物理路径和虚拟环境(可以和其他环境共享或者不共享包)。在MyProj点击右键可以建立新的py程序文件。如果是编写好的.py文件也可以直接拖动到右边的窗口处直接打开。

界面的下部有三个窗口:TODO、Terminal、Python Console。其中TODO是python文件运行结果的界面,Terminal和UOS里的终端是一样的功能,Python Console比较有用,简短的python命令都可以在这里运行,通过这个界面可以对程序进行调试等操作。

比如我们在Python Console里输入“import pandas”(导入数据处理中最常用的pandas包),红色的字就是报错信息,这里提示包还未正确的安装。

在pycharm安装包有两种方式,内部菜单化安装和外部终端安装。

先说内部菜单化的安装方式。在 菜单栏“File--Settings--Project:MyProj”里,通过右侧边的“+”,可以进行添加包的操作;“-”可以删除不用的包,三角箭头可以对制定的包进行升级;眼睛的标志可以刷新当前可用的包。Project Interpreter可以选择不同的Python版本,不同python版本的包不通用。

现在我们尝试用“+”添加pandas包时,会自动在列表中进行查询,选定你要的包,点击Install Package进行安装,但是会发现安装失败。这是因为Python的环境以及相关的依赖组件未安装到位的关系(解决方法后面会详细介绍)。

第二种方法是在操作系统菜单种找到终端,或者用快捷键“Ctrl+Alt+T”调出终端来,在命令行的模式下输入“pip3 install XXXX”(XXXX为需要安装的包名称,如pandas)。系统会自动在网络上搜索合适版本的包自动进行安装。因为UOS自带python2.7,所以“pip install XXXX”是安装适合python2的包,而“pip3 install XXXX”是安装适合python3的包。python2已经在2021年1月停止维护了,所以建议大家尽量用python3来写代码。

未配置好python环境及依赖组件的情况下,终端会报错,因此接下来就是本篇的重头戏了,如何配置python环境,并且让Pycharm能工作起来。

建议重新安装一个新版本的python,并且配置环境。本文中选择了Python3.9.10。下载方式有两种,一种是通过命令行直接下载:

wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tar.xz

第二种,去python的官网上直接下载tar包 https://www.python.org/downloads/release/python-3910/

我把tar包下载到Downloads文件夹下,通过cd命令,到达目标目录下,用解压

tar -xvJf Python-3.9.10.tar.xz

解压的文件要先进行编译,并且通过prefix将新的python安装在/usr/local/文件夹下,sudo语句运行时需要输入系统登录密码:

cd ./Python-3.9.10 ./configure prefix=/usr/local/python3 --with-ssl sudo make install

设置软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

这时候在终端里通过“pip3 install XXXX”命令能安装大部分的包了,但是pandas在安装的时候仍然会报错“ModuleNotFoundError: No module named '_bz2'”,这说明还是有一个依赖包“bz2”没有安装成功,通过以下语句可以进行安装:

sudo apt-get install libbz2-dev

然后再次进入python的解压目录,重装以下python,让依赖包生效:

sudo make install

进行完以上流程后,再进入Pycharm,Settings界面选择Python3.9,这时候就能通过前面所说的界面来下载包了。