为什么运行 Python 导入在第一次运行时失败,但在后续运行时有效(noisereduce 包)?

问题描述 投票:0回答:1

在正确激活的虚拟环境中使用 VS Code 和 Jupyter 笔记本扩展(等等)。
我正在尝试运行以下导入:

import noisereduce

我第一次运行代码时,显示此错误:

--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_2444\169068538.py in <module> ----> 1 import noisereduce c:\Users\Username\miniconda3\envs\adsml\lib\site-packages\noisereduce\__init__.py in <module> ----> 1 from noisereduce.noisereduce import reduce_noise c:\Users\Username\miniconda3\envs\adsml\lib\site-packages\noisereduce\noisereduce.py in <module> ----> 1 from noisereduce.spectralgate.stationary import SpectralGateStationary 2 from noisereduce.spectralgate.nonstationary import SpectralGateNonStationary 3 4 try: 5 import torch c:\Users\Username\miniconda3\envs\adsml\lib\site-packages\noisereduce\spectralgate\__init__.py in <module> 1 from .nonstationary import SpectralGateNonStationary 2 from .stationary import SpectralGateStationary ----> 3 from .streamed_torch_gate import StreamedTorchGate c:\Users\Username\miniconda3\envs\adsml\lib\site-packages\noisereduce\spectralgate\streamed_torch_gate.py in <module> ----> 1 import torch 2 from noisereduce.spectralgate.base import SpectralGate 3 from noisereduce.torchgate import TorchGate as TG 4 import numpy as np 5 ModuleNotFoundError: No module named 'torch'
但是,再次运行它会起作用,直到我重新启动内核,或重新加载窗口,或关闭/重新打开 VS Code。

这是为什么?我应该尝试在此 venv 上手动安装
torch

 吗?


编辑 这个[丑陋的黑客]有效:

try: import noisereduce except: import noisereduce # must run twice
    
python visual-studio-code import dependencies
1个回答
0
投票
这似乎是 3.0.0 版本的一些问题。 来自降噪 github:

https://github.com/timsainb/noisereduce/issues/96

所有者建议使用 patch-torch-dependency 分支。

© www.soinside.com 2019 - 2024. All rights reserved.