小编chh*_*hil的帖子

如何更改 Visual Studio 代码内的终端以使用非 Rosetta 终端,即使用 arm64 终端?

我是 python 新手,正在尝试运行 python 2.7脚本。获取了 python 2.7 的 pip 并从 mac 终端 shell 安装了 pyCrypto 的依赖项。

我想尝试一下,当我使用 python2 执行下载的 python 脚本时,它在终端应用程序中运行良好。

现在我在 vscode 中打开它并尝试在其终端中运行脚本,我得到

ImportError: dlopen(/Users/xxx/Library/Python/2.7/lib/python/site-packages/Crypto/Cipher/_DES3.so, 2): no suitable image found.  Did find:
        /Users/xxx/Library/Python/2.7/lib/python/site-packages/Crypto/Cipher/_DES3.so: mach-o, but wrong architecture
        /Users/xxx/Library/Python/2.7/lib/python/site-packages/Crypto/Cipher/_DES3.so: mach-o, but wrong architecture
Run Code Online (Sandbox Code Playgroud)

当我 uname -m在 M1 Mac 上的 vscode 终端 (zsh) 中运行时,我看到 的输出x86_64,这意味着终端正在 Rosetta 下运行并正在寻找该库的 intel 版本。

当我uname -m在常规 mac 终端应用程序中运行时,我看到arm64

如何更改 vscode 内的终端以使用非 Rosetta 终端?或者如何让脚本在 vscode 中运行?

python python-2.7 arm64 visual-studio-code apple-m1

6
推荐指数
1
解决办法
3945
查看次数

RxJava2,2 个 Observable/Flowable 订阅者,但 onNext 被任何一个调用

rxjava2 版本 2.1.5

试图理解 RxJava2 对一个 observable 的多个订阅。有一个简单的文件监视服务,用于跟踪目录中文件的创建、修改、删除。我添加了 2 个订阅者,并希望在两个订阅者上都打印事件。当我将文件复制到监视目录中时,我看到一个订阅者打印出事件。然后,当我删除文件时,我看到第二个订阅者打印出事件。我期待两个订阅者都打印事件。我在这里缺少什么?

import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;

import java.io.IOException;
import java.nio.file.FileSystem;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;
import java.util.concurrent.TimeUnit;

import io.reactivex.BackpressureStrategy;
import io.reactivex.Flowable;
import io.reactivex.schedulers.Schedulers;

public class MyRxJava2DirWatcher {

    public Flowable<WatchEvent<?>> createFlowable(WatchService watcher, Path path) {

        return Flowable.create(subscriber -> {

            boolean error = false;
            WatchKey key;
            try {

                key = path.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
            }
            catch (IOException e) {
                subscriber.onError(e);
                error = true;
            } …
Run Code Online (Sandbox Code Playgroud)

watchservice rx-java rx-java2

2
推荐指数
1
解决办法
1672
查看次数