[Bug] DDL error from SSL
- Dominant language
- Python
- Stars
- 28.4k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
- [ ] I didn't find a similar issue already open.
- [ ] I read the documentation (README AND Wiki)
- [ ] I have installed FFMpeg
- [ ] My problem is related to Spleeter only, not a derivative product (such as Webapplication, or GUI provided by others)
## Description
I'm getting a DLL error after following the installation instructions by order.
## Step to reproduce
1. Installed using the following:
'
conda install -c conda-forge ffmpeg libsndfile
pip install spleeter
'
2. Run Jupyter notebook from visual studio code, use the command
'!spleeter separate -o ./output ./tmp/audio_example.mp3'
3. Got error
'
Traceback (most recent call last):
File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\ProgramData\Anaconda3\Scripts\spleeter.exe\__main__.py", line 7, in
File "c:\programdata\anaconda3\lib\site-packages\spleeter\__main__.py", line 256, in entrypoint
spleeter()
File "c:\programdata\anaconda3\lib\site-packages\typer\main.py", line 214, in __call__
return get_command(self)(*args, **kwargs)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "c:\programdata\anaconda3\lib\site-packages\typer\main.py", line 497, in wrapper
return callback(**use_params) # type: ignore
File "c:\programdata\anaconda3\lib\site-packages\spleeter\__main__.py", line 137, in separate
synchronous=False,
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 382, in separate_to_file
sources = self.separate(waveform, audio_descriptor)
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 325, in separate
return self._separate_librosa(waveform, audio_descriptor)
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 269, in _separate_librosa
sess = self._get_session()
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 240, in _get_session
provider = ModelProvider.default()
File "c:\programdata\anaconda3\lib\site-packages\spleeter\model\provider\__init__.py", line 93, in default
from .github import GithubModelProvider
File "c:\programdata\anaconda3\lib\site-packages\spleeter\model\provider\github.py", line 28, in
import httpx
File "c:\programdata\anaconda3\lib\site-packages\httpx\__init__.py", line 2, in
from ._api import delete, get, head, options, patch, post, put, request, stream
File "c:\programdata\anaconda3\lib\site-packages\httpx\_api.py", line 3, in
from ._client import Client, StreamContextManager
File "c:\programdata\anaconda3\lib\site-packages\httpx\_client.py", line 7, in
import httpcore
File "c:\programdata\anaconda3\lib\site-packages\httpcore\__init__.py", line 2, in
from ._async.connection_pool import AsyncConnectionPool
File "c:\programdata\anaconda3\lib\site-packages\httpcore\_async\connection_pool.py", line 2, in
from ssl import SSLContext
File "c:\programdata\anaconda3\lib\ssl.py", line 98, in
import _ssl # if we can't import it, let the error propagate
ImportError: DLL load failed: The specified module could not be found.
'
## Output
'
Traceback (most recent call last):
File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\ProgramData\Anaconda3\Scripts\spleeter.exe\__main__.py", line 7, in
File "c:\programdata\anaconda3\lib\site-packages\spleeter\__main__.py", line 256, in entrypoint
spleeter()
File "c:\programdata\anaconda3\lib\site-packages\typer\main.py", line 214, in __call__
return get_command(self)(*args, **kwargs)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\programdata\anaconda3\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "c:\programdata\anaconda3\lib\site-packages\typer\main.py", line 497, in wrapper
return callback(**use_params) # type: ignore
File "c:\programdata\anaconda3\lib\site-packages\spleeter\__main__.py", line 137, in separate
synchronous=False,
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 382, in separate_to_file
sources = self.separate(waveform, audio_descriptor)
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 325, in separate
return self._separate_librosa(waveform, audio_descriptor)
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 269, in _separate_librosa
sess = self._get_session()
File "c:\programdata\anaconda3\lib\site-packages\spleeter\separator.py", line 240, in _get_session
provider = ModelProvider.default()
File "c:\programdata\anaconda3\lib\site-packages\spleeter\model\provider\__init__.py", line 93, in default
from .github import GithubModelProvider
File "c:\programdata\anaconda3\lib\site-packages\spleeter\model\provider\github.py", line 28, in
import httpx
File "c:\programdata\anaconda3\lib\site-packages\httpx\__init__.py", line 2, in
from ._api import delete, get, head, options, patch, post, put, request, stream
File "c:\programdata\anaconda3\lib\site-packages\httpx\_api.py", line 3, in
from ._client import Client, StreamContextManager
File "c:\programdata\anaconda3\lib\site-packages\httpx\_client.py", line 7, in
import httpcore
File "c:\programdata\anaconda3\lib\site-packages\httpcore\__init__.py", line 2, in
from ._async.connection_pool import AsyncConnectionPool
File "c:\programdata\anaconda3\lib\site-packages\httpcore\_async\connection_pool.py", line 2, in
from ssl import SSLContext
File "c:\programdata\anaconda3\lib\ssl.py", line 98, in
import _ssl # if we can't import it, let the error propagate
ImportError: DLL load failed: The specified module could not be found.
'
## Environment
| | |
| ----------------- | ------------------------------- |
| OS | Windows 10 |
| Installation type | pip |
| RAM available | 16GB |
| Hardware spec | CPU + GPU |
## Additional context
At the other (different) closed issues involving DLLs I haven't found direct solution to the problem.
Contributor guide
Research direction
Start by reproducing the Windows 10 installation with `conda install -c conda-forge ffmpeg libsndfile` and `pip install spleeter`, then run the reported Jupyter command. Trace the failure through `spleeter/model/provider/github.py`, `httpx`, `httpcore`, and Python's `ssl.py`; done means the example separation command runs without the `_ssl` DLL error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python, vscode
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100