我已经使用rosetta.parallel.pandas_easy并行分组后应用,例如:
from rosetta.parallel.pandas_easy import groupby_to_series_to_frame
df = pd.DataFrame({'a': [6, 2, 2], 'b': [4, 5, 6]},index= ['g1', 'g1', 'g2'])
groupby_to_series_to_frame(df, np.mean, n_jobs=8, use_apply=True, by=df.index)
Run Code Online (Sandbox Code Playgroud)
但是,有没有人想出如何并行化返回数据帧的函数?正如预期的那样,此代码对于rosetta失败.
def tmpFunc(df):
df['c'] = df.a + df.b
return df
df.groupby(df.index).apply(tmpFunc)
groupby_to_series_to_frame(df, tmpFunc, n_jobs=1, use_apply=True, by=df.index)
Run Code Online (Sandbox Code Playgroud) 我最近购买了一台配备 Apple M1 芯片的 Mac,但在运行库和应用程序时遇到了许多问题。
numpy 就是这样的一个例子。为了提供上下文,我安装了 Python 3.9 和 pip3,然后决定使用 pip 安装 numpy。为了测试 Python 3.9 和 numpy 是否已正确安装,我输入terminal python3
。我接下来尝试使用语句导入 numpyimport numpy
然后我得到错误
/var/db/oah/e089a6709d38c1a085254c76a7cb592fcceddb3f234a4aa318bb4ec25fe40d27/a37f39d2b061393d7731233ae89d90cd87c97f4edeeb46a78ad791/_multiarray_umath.cpython-39-darwin.so.aot: attachment of code signature supplement failed: 1
zsh: trace trap python3
Run Code Online (Sandbox Code Playgroud)
当尝试从苹果应用程序商店打开其他应用程序(例如 SonicWall Mobile Connect)时,我遇到了完全相同的错误。如果有人对如何解决此 Rosetta 错误有任何见解,我们将不胜感激。
干杯!
我知道可以使用活动监视器来检查进程是否正在通过 Apple Silicon 上的 Rosetta 运行。我想知道是否有办法对终端执行相同的操作?
编辑:
该进程是其他应用程序,因此如果有办法检查该进程是否在 Rosetta 中运行,则可能的命令可能具有以下语法:
$ is_running_under_rosetta <pid>
这会输出
yes
或者no
。
在一个旧项目中,我注意到所有模拟器目标都有一个“(Rosetta)”指示,而该项目仅包含Apple芯片兼容的代码和库。
我想在本机模拟器上构建和运行,但似乎无法做到这一点。
Web 搜索仅显示有关如何在 Xcode.app 和 Simulator.app 上设置 Rosetta 复选标记的信息,但这些复选标记不再存在(Xcode 14)。
如何将模拟器返回到非 Rosetta 版本?
关于二进制文件、处理器以及它们如何协同工作的问题,这里有点菜鸟:
我有一台带有 M1 芯片的新 Mac,想安装 Node.js。我习惯用 Homebrew 来做这件事。现在,如果我安装 Homebrew,强烈建议我使用 Rosetta,所以我这样做了。下一步:安装节点。所以,而不是brew install node
我做arch -x86_64 brew install node
。
这很好用,只是我想知道,我现在是否以次优方式使用节点?Node 是否也在使用 Rosetta,而不是直接在 M1 芯片上运行?
运行“POD安装”在M1的MacBook失败对我来说由于FFI问题,如所描述这里。
我遵循了一些解决方法(我想我以各种顺序尝试了所有方法),但现在我得到了一个稍微不同的错误:
LoadError - dlopen(/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle, 9): no suitable image found. Did find:
/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle: mach-o, but wrong architecture
/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle: mach-o, but wrong architecture - /opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle
Run Code Online (Sandbox Code Playgroud)
所以,似乎我现在有 ffi,但架构错误?我怎样才能解决这个问题?在 Rosetta 模式下运行/不运行终端会发生这种情况。
顺便说一句,建议的解决方法之一对我来说没有成功。当我尝试:
sudo arch -x86_64 gem install ffi
Run Code Online (Sandbox Code Playgroud)
我得到:
arch: posix_spawnp: gem: Bad CPU type in executable
Run Code Online (Sandbox Code Playgroud)
不确定这是否相关。
我正在尝试使用应用程序芯片在新的 Mac 计算机上执行反应本机项目。按照某些论坛的建议,将终端更改为使用 Rosetta 打开
使用 NPM 14.16.0 安装了 cocoa pods 1.10.1 版本并反应 Native 版本 0.63.4 和 Xcode 版本 12.4 并尝试在 iOS 文件夹中运行 pod install 命令。我收到以下错误。
错误
[!] An error occurred while processing the post-install hook of the Podfile.
undefined method `react_native_post_install' for #<Pod::Podfile:0x00000001572d90f8>
/Users/vvvvv/WebstormProjects/Reer/ios/Podfile:27:in `block (3 levels) in from_ruby'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/podfile.rb:179:in `post_install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:897:in `run_podfile_post_install_hook'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:885:in `block in run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:884:in `run_podfile_post_install_hooks'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:329:in `block (2 levels) in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer/xcode/pods_project_generator/pods_project_writer.rb:61:in `write!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:328:in `block in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:307:in `create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:299:in `generate_pods_project' …
Run Code Online (Sandbox Code Playgroud) 我在配备 M1(Apple ARM 架构)的 Macbook 上,尝试使用layoutparser库运行以下 Python 代码,该库间接使用pycocotools:
import layoutparser as lp
lp.Detectron2LayoutModel()
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
[...]
ImportError:
dlopen([...]/.venv/lib/python3.9/site-packages/pycocotools/_mask.cpython-39-darwin.so, 0x0002):
tried:
'[...]/.venv/lib/python3.9/site-packages/pycocotools/_mask.cpython-39-darwin.so'
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')),
'/usr/local/lib/_mask.cpython-39-darwin.so' (no such file),
'/usr/lib/_mask.cpython-39-darwin.so' (no such file)
Run Code Online (Sandbox Code Playgroud)
对我来说最重要的信息似乎是[...] is an incompatible architecture (have 'x86_64', need 'arm64e') [...]
。确实,我使用的是Apple ARM架构,有时有些软件不支持。这通常可以通过使用模拟 Intel-x64 架构的 Rosetta 来解决。所以我用 Rosetta ( arch -x86_64 zsh
) 启动一个终端,创建一个新的虚拟环境,重新安装依赖项,然后尝试再次运行代码......
...我收到了与没有 Rosetta 时遇到的相同错误:
[...] is an incompatible architecture (have 'x86_64', need 'arm64e') [...] …
我最近不得不引入一个在模拟器上不支持 arm64 的库(GoogleMLKit,使用 Pods)。
如果我尝试在arm64(非Rosetta)上构建模拟器,Xcode会给出从新添加的Google库及其依赖项引用的x86_64的链接器错误。
最重要的是:
我尝试在 podfile 中排除 pod 的 arm64 和/或 x86_64,但无济于事。
我使用的是 Xcode 15.0.1。