【问题标题】:Unable to import sox package in python after successful installation安装成功后无法在python中导入sox包
【发布时间】:2018-11-08 15:44:37
【问题描述】:

我使用命令“conda install -c conda-forge sox”安装了 sox,使用命令“conda install -c davidbgonzalez pysox”安装了 pysox。但是当我尝试导入 sox 时,它会显示“没有名为 sox 的模块”。如何解决这个问题?

【问题讨论】:

    标签: python conda sox


    【解决方案1】:

    如果你看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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-26
      • 2020-02-11
      • 2021-11-17
      • 1970-01-01
      • 2021-04-11
      • 2015-12-12
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多