如何在不破坏环境(例如 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 的替代方案”。
附加信息:
- python3 --version --> "Python 3.6.8"
- python3 -c "import sysconfig" --> 运行s 无怨无悔
- sudo apt install python3-distutils --> "python3-distutils 已经是
最新版本 (3.7.3-1)” 我可以得到 3.6 吗?
- pip3 install setuptools --> “导入错误:无法导入名称 'sysconfig'”
这是我的第一个 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
一如既往
我正在尝试 运行 使用 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 的替代方案”。
附加信息:
- python3 --version --> "Python 3.6.8"
- python3 -c "import sysconfig" --> 运行s 无怨无悔
- sudo apt install python3-distutils --> "python3-distutils 已经是 最新版本 (3.7.3-1)” 我可以得到 3.6 吗?
- pip3 install setuptools --> “导入错误:无法导入名称 'sysconfig'”
这是我的第一个 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
一如既往