我想安装 github 存储库的需求文件中列出的 python 包。但是,我在将这些 python 包安装到 conda 环境中时遇到问题。
首先,我用Miniforge3-MacOSX-arm64安装了conda,它支持arm64架构的M1。但是,一些特定的 python 软件包(例如 onnxruntime)我无法安装,因为我遇到了这样的错误消息:
ERROR: Could not find a version that satisfies the requirement onnxruntime
ERROR: No matching distribution found for onnxruntime
Run Code Online (Sandbox Code Playgroud)
我假设对于那些特定的 python 软件包,M1 尚不支持。
因此,我采取了另一种方法。我将终端设置为“用 Rosetta 打开”。计划是安装 intel x86_64 架构的应用程序,并让 Rossetta 创建二进制文件以在 arm64 上运行。然后我卸载了arm64的miniforge并安装了x86_64的miniforge,名为Miniforge3-MacOSX-x86_64。通过该设置,我能够安装需求文件的所有列出的 python 包,并且pip freeze我还可以确认它们已安装。但是,我无法使用这些 python 包。例如,如果我想运行 pytest,我会收到以下错误:
zsh: illegal hardware instruction pytest
Run Code Online (Sandbox Code Playgroud)
我假设 Rossetta 会处理这个问题,我也可以在 arm64 上使用 x86_64 的应用程序。但不知怎的,它不起作用。我尝试了很多不同的事情,但没有想法。
有谁知道问题是什么?我也非常感谢您提供如何在 Mac M1 上正确设置 python 环境的建议和建议。
两天前我也遇到了同样的问题,我正在使用m1 pro. 我试图仅使用安装 python 软件包,pip但出现了许多错误,然后我决定使用conda.
就我而言,它有效,这是我到目前为止所做的:
首先在你的 zsh 中启用open with rosetta。进而,
# create environment in conda
conda create -n venv python=3.8 # with your python version
# activate
conda activate venv
Run Code Online (Sandbox Code Playgroud)
并访问 conda 网站查找软件包: check packages
假设如果您正在寻找pytest软件包,那么您可以搜索它,您将得到这样的结果,其中包含可用的软件包和频道。
您需要启用该特定通道才能使用以下命令获取该包:
# config channel
conda config --append channels conda-forge # available channel name
# then install
conda install --yes --file requirements.txt
Run Code Online (Sandbox Code Playgroud)
确保您pytest的文件中具有相同的版本requirements.txt。(eg:pytest==6.2.5)
希望这能起作用,如果不能尝试使用类似的方式安装它pip:
pip install -r requirements.txt
在环境启用后。
| 归档时间: |
|
| 查看次数: |
2558 次 |
| 最近记录: |