【问题标题】:How to install multiple Python versions on Mac M1如何在 Mac M1 上安装多个 Python 版本
【发布时间】:2021-06-20 06:00:40
【问题描述】:

我已经安装了 Python 3.9.2,因为它支持 Python.org 中推荐的 ARM64

之后我使用python3 -m venv py39创建了一个虚拟环境

现在我需要另一个环境,但使用 Python 3.8.8,因为 Tensorflow 仅支持 3.8。 如何在维护其他 3.9 环境的同时使用 Python 3.8 创建另一个虚拟环境。 如果要求我使用conda,conda 是否支持 Mac M1 ARM64,因为根据我的搜索它不支持

我发现同样的问题被问了很多次,但对于 windows 和答案非常古老,例如: Use different Python version with virtualenv 11 年前

【问题讨论】:

  • 从文档看来,Apple M1 的全面官方支持从 3.9.1 开始:从 3.9.1 开始,Python 现在完全支持在 macOS 11.0 (Big Sur) 和 Apple Silicon 上构建和运行Mac(基于 ARM64 架构)。 (新功能

标签: python macos tensorflow virtualenv python-venv


【解决方案1】:

我发现,使用 pyenvminiforge 使用 conda 是没有问题的,即使使用像 3.8 这样的旧版本,这似乎是对 M1 的限制。与

brew update
brew install pyenv
pyenv install miniforge3-4.10
pyenv global miniforge3-4.10
conda create -n new_env python=3.8
conda activate new_env
conda install poetry
poetry new project
cd project
poetry add open3d

据我测试,有了它,您可以安装任何软件包并以任何您想要的方式使用 conda。 您当然可以按通常的方式使用conda install {package},而不是诗歌。

【讨论】:

  • 但是我们不能安装python2(例如python=2.7)。你试过了吗?
  • 是的,这对我有用。你需要说python=2。然后它安装2.7.15。要是能复现就好了。
  • 我不能,它说PackagesNotFoundError: The following packages are not available from current channels: python=2。 :(
  • 顺便说一句,我认为你的“miniforge”和我的有些不同。我直接从the official github page 安装它,而不是通过pyenv。我刚刚通过pyenv 安装了 miniforge,但我的“旧”仍然存在。你能告诉我如何使用 pyenv 的 miniforge 来创建一个新的 conda env 吗?
  • 当然,我会更新帖子,让它更清楚一点。但我不确定它在后台是如何工作的。可能是它的运行速度不如其他版本。但至少它有效。
【解决方案2】:

您与conda 绑定有什么原因吗?

我问的原因是有更简单的途径来获得孤立的 Python 环境,这可能在所需的 M1 迁移上移动得更快。

我建议至少检查一下

如果和conda绑定的话,好像有一些相关的帖子:How can I run Python 3.9.1 natively on M1 Mac?

【讨论】:

  • 我假设你说他们在 M1 芯片 Mac 上工作。对吗?
  • 是的,它是 Apple M1 & conda 不支持 ARM64
  • 我没有尝试 conda,因为它不支持 Mac M1 的 ARM64
  • 这个问题看起来很接近这个:stackoverflow.com/questions/65534042/…
猜你喜欢
  • 2021-08-08
  • 1970-01-01
  • 2022-06-11
  • 2022-08-02
  • 2017-09-22
  • 2021-09-20
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
相关资源
最近更新 更多