如何在不破坏环境(例如 pip)的情况下将 Raspberry Pi 零 W 从 Python 3.7 降级到 3.6,以使用 pyaudio

How to downgrade an Raspberry Pi Zero W from Python 3.7 to 3.6 without breaking the environment (eg, pip), to use pyaudio

我正在尝试 运行 使用 Raspberry Pi 零 W 对来自 USB 麦克风输入的连续音频流的几个高频仓进行 FFT。Windows PC原型 运行s 但在部署到 Pi 时存在“pyaudio”问题,它没有用于 ARM 的 Python3.7 轮(?),只有 Python3.6。 RPi OS 安装包括 3.7,我想我只想降级到 3.6。这是一个固定用途的设备,因此不需要 virtualenv(我在尝试它时遇到了问题)并且不能用 Anaconda 给 Pi Zero 带来负担。我从未在 *nix 上构建过。

我安装了 Python3.6 并更改了 python3 符号链接以指向它。 运行“pip3 install pyaudio”产生:

...
File "/usr/lib/python3/dist-packages/pip/_internal/locations.py", line 10, in from distutils import sysconfig as distutils_sysconfig ImportError: cannot import name 'sysconfig'

多角度攻击似乎 运行 进入 distutils sysconfig(就像我尝试 virtualenv 时一样)。我已经尝试了很多东西(比如更新替代方案)我可能对当前状态有点困惑。

我想我的问题是“如何在不破坏环境(例如,pip)的情况下将 RPi 零 W 从 Python 3.7 降级到 3.6”,但也许它真的是“我如何在 3.7 中获得 pyaudio ”,或“是否有 pyaudio 的替代方案”。

附加信息:

这是我的第一个 Whosebug post,对违反礼节表示歉意。

Python安装的3.7是全系统的。是否有任何原因导致您无法将 Python 安装为唯一版本和 运行 该特定安装?通常,当人们想要不同的版本时,他们会进行升级,因此您可以搜索记录了该过程的人员。

通常,您会下载项目并在您的机器上编译它。在你的主文件夹中创建一个文件夹,然后切换到它。

$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
$ tar xf Python-3.6.5.tar.xz
$ cd Python-3.6.5
$ ./configure
$ make
$ sudo make altinstall

$ 其中 python3.6 returns /usr/local/bin/python3.6

$ 其中 python3 returns /usr/bin/python3

一如既往