我是 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 中运行?
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)