【问题标题】:How to import python packages?如何导入python包?
【发布时间】:2016-12-18 08:59:38
【问题描述】:

我是 Python 新手,需要使用基于 python 的工具,称为染色体,它可以导入一些 Python 包,包括生物格式。 Bioformats 有许多模块,包括床。在运行染色体时,我收到错误:

smeeta:~$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import chromosomer
>>> from chromosomer.cli import bioformats
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/chromosomer/cli.py", line 8, in <module>
    import bioformats.bed
ImportError: No module named bed
>>> import bioformats
>>> import bioformats.bed
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named bed
>>> 

我如何安装包染色体及其依赖包?

【问题讨论】:

  • 感谢您的编辑和下面的答案;但我已经使用 sudo -E pip install --index-url=pypi.python.org/simple -r requirements.txt 安装了染色体及其依赖项。完成此操作后,我必须将 /usr/local/lib/python2.7/dist-packages// 添加到我的 bashrc 中的 PYTHONPATH 中。我仍然收到上面提到的导入错误..
  • '来自染色体.cli 导入染色体' 对我来说效果很好,请参阅我答案的最后一部分。我的建议是,从 bashrc 中删除/卸载染色体包以及路径行 - 然后重新安装它。

标签: python python-2.7 pip importerror


【解决方案1】:

使用pip

例如

#>pip install <desired package>
#>pip install chromosomer

官方pip文档link

适用于 Python 2.7.9+ 和 3.4+ 它应该预装pip

Python 2 ≤ 2.7.8 和 Python 3 ≤ 3.3 按照此处的说明进行操作:https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip

关于这个问题的更多讨论: Does Python have a package/module management system?

【讨论】:

    【解决方案2】:

    所以在 python 中,大多数东西都是使用pip 命令安装的,这是安装 Python 包的推荐工具。

    你也试过了:

    pip install python-bioformats
    

    【讨论】:

    • 是的,还安装了 python-bioformats;但不能解决我的问题
    【解决方案3】:

    对于默认包以外的任何包,您需要在导入/使用它们之前安装它们。

    安装 Python 包最常用和最方便的方法是通过 pip 包管理实用程序。

    1.安装 pip

    sudo apt-get install python-pip  # for Debian/Ubuntu
    sudo yum -y install python-pip  # for CentOS/RHEL
    

    注意:对于 Python 2.7.9+ 和 3.4+,pip 已预先安装。


    2.安装python包

    sudo pip install chromosomer
    

    它将安装 bioinformatsfuturepyfaidxPyVCFsix 包作为依赖项。 注意:如果已经是root 用户,则不需要sudo,或者使用vitualenv

    验证 - 可以使用pip freeze 命令验证安装:

    (venv_bioinformatics)[nahmed@localhost virtualenvs]$ pip freeze
    bioformats==0.1.14
    chromosomer==0.1.3
    future==0.16.0
    pyfaidx==0.4.8.1
    PyVCF==0.6.8
    six==1.10.0
    wheel==0.24.0
    

    测试 - 我安装了染色体并导入,工作正常:

    (venv_bioinformatics)[nahmed@localhost virtualenvs]$ python 
    Python 2.7.5 (default, Sep 15 2016, 22:37:39) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from chromosomer.cli import chromosomer
    >>> 
    

    【讨论】:

    • 你试过在 Python shell 中导入吗?并将软件包版本与我共享的版本进行比较,因为它对我来说很好。
    • 另外,如果我只导入包,它会被导入,但如果我尝试访问一个模块,它会抛出错误..
    • 请分享整个会话,即导致问题的回溯(错误)和导入语句。将其添加为问题编辑 1:(在当前内容下方)
    • 是的,在 Python shell 中,包正在顺利导入,但不是它们的模块。import &lt;package_name&gt; 没有给出任何错误,而 from &lt;package_name&gt; import module 抛出错误。是的,版本大多数已安装的软件包都相同,除了六个==1.5.2 和 Python 是 2.7.6..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多