
我正在为在mac m1上使用python而苦苦挣扎,我发现在pipenv上创建具有正确架构的虚拟环境有一个问题。正如你在上图中看到的,当我用aram64架构打开终端并使用pipenv创建虚拟环境时,架构就变成了i386。我不确定这是否会造成很大的问题,它阻止了我使用一些第三方软件包,如numpy和pandas,尽管我无法重现错误。(据我所知,它显示了类似于mach-o: but wrong architecture的错误消息。)我使用的pipenv版本是2021.5.29。
> arch
arm64
> pipenv --python 3.8
Creating a virtualenv for this project...
Pipfile: /Users/seewoolee/development/tmp/Pipfile
Using /usr/bin/python3 (3.8.9) to create virtualenv...
⠦ Creating virtual environment...created virtual environment CPython3.8.9.final.0-64 in 388ms
creator CPython3macOsFramework(dest=/Users/seewoolee/.local/share/virtualenvs/tmp-miv_sugU, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/seewoolee/Library/Application Support/virtualenv)
added seed packages: pip==21.2.4, setuptools==58.1.0, wheel==0.37.0
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
✔ Successfully created virtual environment!
Virtualenv location: /Users/seewoolee/.local/share/virtualenvs/tmp-miv_sugU
Creating a Pipfile for this project...
> pipenv shell
Launching subshell in virtual environment...
. /Users/seewoolee/.local/share/virtualenvs/tmp-miv_sugU/bin/activate
> arch
i386发布于 2021-10-28 06:47:49
我认为M1芯片没有很好地支持pipenv/python包,这可能会帮助你安装panda包,也可以作为其他包的方法示例:
https://megah-f.medium.com/apple-m1-python-pandas-and-pipenv-1cab199287c4
发布于 2021-10-28 22:06:23
如果您从英特尔mac迁移到m1,则已经安装的可执行文件(如pipenv或Python3.8.9安装)可以通过已安装的英特尔可执行文件来满足。
如果您没有迁移,请记住,作为英特尔安装的任何安装程序(brew、pip、pipenv或VS Code)都将在Rosetta 2下运行,而Rosetta 2的拱门将是英特尔。他们试图安装的任何东西也将是英特尔的。所以要确保你的安装程序是你想要的架构(英特尔或arm)。对于某些情况,您可能需要两者,并通过路径设置选择其中一个。
也就是说,请注意,旧版本的python或模块可能不适用于M1。如果旧的源代码Makefile不知道如何处理arm拱门,则尝试从源代码安装的安装程序可能会失败。
https://stackoverflow.com/questions/69748975
复制相似问题