Install Anaconda / Spyder on Ubuntu 2022¶
本文介绍在 Ubuntu 中安装 Spyder / Anaconda IDE 的方法。
About Python IDE¶
开发运行 Python 程序的环境非常灵活,定制性强,因此选择也就很复杂。如果是做数值计算、数据科学或者机器学习,就毫不犹豫地选 Anaconda 平台,它包含了 Numpy, Spyder, Matplotlib, Jupyter, ipython, machine learning 等等。否则可以选 Pycharm。
另外,不要一开始就选择在终端或 vscode 中开发 Python 程序,它们一般是熟手的选择。
在长期使用 Python 的过程中,你会慢慢发现一个典型的 Python 开发和运行环境包含: Python 解释器, Python 虚拟环境,包安装器 pip 和 Packages,各种 IDE 等等众多组成部分。
Ubuntu apt 源¶
不要通过 Apt 安装。
Spyder 不是 Ubuntu 的 apt 软件源。在 Ubuntu 22.04 上用 apt 安装 spyder 后 [1],有 QT 错误,打不开 spyder。
How to install Spyder IDE on Ubuntu 22.04 - Unix / Linux the admins Tutorials
通过 Anaconda 安装¶
如果是使用 Ubuntu,那么正确的安装方法是下载官方的 linux 版本安装包,如 miniconda3,安装好 conda 之后,再用 conda 命令安装 spyder, numpy 等包。
这是首选方法,不必考虑其它方法。
Installing on Linux — Anaconda documentation
安装 miniconda¶
在 Anaconda 网站下载 Ubuntu 专用的 miniconda 安装包安装,而不是直接用命令行安装。此时,电脑上会多一个 miniconda 专用的 python 环境。
Download 提供官方的 miniconda script file ,install it in terminal
修改为可执行,并执行 shell 安成 miniconda 的安装
通过 conda 管理器安装第3方包:
cd /home/dai/miniconda3/bin/ ./conda install numpy ./conda install spyder ./conda install matplotlib
启动 spyder。 有的安装在执许完上一步之后,可以在任意路径下通过 spyder 命令启动 spyder。如果找不到应用,先切换到安装目录。
cd /home/dai/miniconda3/bin/ ./spyder
上面的方法安装的 spyder 有的能够直接在终端中用命令行启动,否则设置别名:
alias spyder="nohup sh /home/dai/miniconda3/bin/spyder &"
如果使用上面的方法安装的 Spyder 无法打开,那么可以考虑安装其它(低)版本的 Spyder,以避免一些不必要的 Bug。Bug 挺多的,可以换不同的版本试试。Spyder 的版本与 Python 的版本并无直接关系。
Conda init¶
前面使用 conda 命令时,总是需要先进入 conda 的目录,显得不方便。更合适的方法是将该路径加入 PATH 环境变量中。
conda init 的作用是自动将 conda的路径加入到环境变量(PATH)中,它会在 ~/.bashrc 文件中加入以下内容:
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/dai/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/dai/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/dai/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/dai/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
如果需要在启动 terminal 时,进一步切换到其它环境,例如: sphinx (假设 virtual env 已存在)
# >>> activate sphinx
conda activate sphinx
# <<< activate sphinx
安装第3方 Packages¶
如果安装了 pyenv,那么打开终端时,总是在 pyenv 的虚拟的 python 环境中。首先要切换到 Spyder 所用的 Python 环境下。
找到并进入 minconda 的安装目录,例如:
cd /home/dai/miniconda3/bin/
如果没有安装 pyenv 等虚拟 Python 环境管理器,那么只需使用 conda 命令激活相应的环境后,即可使用 conda 安装所需第3方包。
用conda 或 pip 安装第3方包,例如:
conda install numpy
conda install spyder
或者:
./pip install scipy #/// 指定用本目录中的 pip,而不是其它 pip
pip 在这里又成了 Python 的一个包管理器。从这点上讲 conda 是一个比 pip 层级更高的复合体。有些包只有 pip 源,没有 conda 源。
Spyder 设置常见问题¶
Spyder ini 文件位置¶
2023-11-30
在配置 Spyder 设置项(Spyder 软件的图形设置界面) 后,就启动不了 Spyder 了,可能是设置了不存在或不正确的绘图的引擎。此时可以先还原 spyder.ini 文件。
对于通过 anaconda (miniconda) 安装的 spyder 软件,其配置文件的位置为:
/home/dai/.config/spyder-py3/config/spyder.ini
最好的办法是在进行一些危险的配置前先做好配置文件的备份,出问题后直接从备份还原。
用 Pip 安装 Spyder¶
spyder 也可以通过 pip 安装。但并不推荐此方法,因为 pip 管理的 python 版本可能五花八门,很多时候与 spyder 的依赖冲突。而 anacodna 提供的安装包,一般会对 spyder 支持得更好。
下面记录曾经安装成功的过程,不推荐采用。
How to install Spyder 5.4 (and replace Spyder 4.2.1) on Ubuntu 22.04 - Silicon's blog
remove the old spyder
cd ~ sudo apt purge spyder -y sudo apt autoremove
install the spyder 5
pip install spyder
softlink thd start scripts
Note: 没有在以下路径找到 spyder 的有关文件
sudo ln -s /home/your_username/.local/bin/spyder /usr/bin/spyder
start spyder from shell
spyder
后记
用 which spyder 看到 spyder 程序位于 .pyenv/shims 目录下。问题是 shims 是谁建立的呢?
进一步观察发现,自制 setup 的命令通过 pip 都是安装在 .pyenv/shims 目录下。
然后再查了一下 shims 目录,看得懂的信息就不多了。
如果坚持在 conda 下使用 spyder,则不用理会下面的问题。
然而,是否可以在 Pyenv 中安装 Spyder 呢?
Spyder 是否可以使用 Pyenv 中的 Python 解释器?¶
在A机器上安装了 Spyder,其 Python interpreter 只能使用 miniconda 带的 python。否则会提示版本错误,版本不兼容。
而 B 机器用同样的方法安装 Spyder,可以使用 pyenv 下的 python。比较混乱。
Spyder 所要求的 python 版本要与 pyenv 中的 python 版本要兼容,不能出现矛盾的需求。