安装成功后无法在 python 中导入 sox 包
Unable to import sox package in python after successful installation
我使用命令“conda install -c conda-forge sox”安装了 sox,使用“conda install -c davidbgonzalez pysox[=15=”安装了 pysox ]'。但是当我尝试导入 sox 时,它显示 'No module named sox'。如何解决这个问题?
如果您查看 https://pythonhosted.org/pysox/intro.html#simple-examples 中的示例,则需要导入 pysox
,而不是 sox
:
$ python
Python 2.7.15 |Anaconda, Inc.| (default, Oct 23 2018, 18:31:10)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysox # or the one below
>>> from pysox import sox
此外,第一次尝试此操作时,您可能会看到错误:
>>> import pysox
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/tmp/p/lib/python2.7/site-packages/pysox/__init__.py", line 60, in <module>
from pysox.sox import CSoxStream, CEffect, CEffectsChain, CPysoxPipeStream
ImportError: libsox.so.2: cannot open shared object file: No such file or directory
这是因为 conda-forge 提供了 sox v14.4.2(它提供 libsox.so.3),而 davidbgonzalez 提供的 pysox 是针对旧版本构建的。
查看 https://abi-laboratory.pro/index.php?view=timeline&l=sox 并希望此版本的 pysox 不使用任何已删除的符号,然后您可以通过创建符号链接并祈祷来解决此问题:
$ ln -s $CONDA_PREFIX/lib/libsox.so.{3,2}
$ ls -l $CONDA_PREFIX/lib/libsox.so.2
lrwxrwxrwx. 1 nwani nwani 22 Nov 10 23:54 /tmp/p/lib/libsox.so.2 -> /tmp/p/lib/libsox.so.3
我使用命令“conda install -c conda-forge sox”安装了 sox,使用“conda install -c davidbgonzalez pysox[=15=”安装了 pysox ]'。但是当我尝试导入 sox 时,它显示 'No module named sox'。如何解决这个问题?
如果您查看 https://pythonhosted.org/pysox/intro.html#simple-examples 中的示例,则需要导入 pysox
,而不是 sox
:
$ python
Python 2.7.15 |Anaconda, Inc.| (default, Oct 23 2018, 18:31:10)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysox # or the one below
>>> from pysox import sox
此外,第一次尝试此操作时,您可能会看到错误:
>>> import pysox
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/tmp/p/lib/python2.7/site-packages/pysox/__init__.py", line 60, in <module>
from pysox.sox import CSoxStream, CEffect, CEffectsChain, CPysoxPipeStream
ImportError: libsox.so.2: cannot open shared object file: No such file or directory
这是因为 conda-forge 提供了 sox v14.4.2(它提供 libsox.so.3),而 davidbgonzalez 提供的 pysox 是针对旧版本构建的。
查看 https://abi-laboratory.pro/index.php?view=timeline&l=sox 并希望此版本的 pysox 不使用任何已删除的符号,然后您可以通过创建符号链接并祈祷来解决此问题:
$ ln -s $CONDA_PREFIX/lib/libsox.so.{3,2}
$ ls -l $CONDA_PREFIX/lib/libsox.so.2
lrwxrwxrwx. 1 nwani nwani 22 Nov 10 23:54 /tmp/p/lib/libsox.so.2 -> /tmp/p/lib/libsox.so.3