【问题标题】:Locate where conda placed a python package I installed找到 conda 放置我安装的 python 包的位置
【发布时间】:2020-01-25 03:09:00
【问题描述】:

python新手问题:

Ubuntu 系统上,我使用sudo pip install 安装了python 包。 (这个包叫hlmm

我正在使用miniconda3 环境,而我的.bashrc 中指定的唯一environment variable 是:

export PATH="/home/<my_username>/miniconda3/bin:$PATH"

现在我想从我安装的包中运行一个测试脚本,该包位于相对于该包的安装位置的tests 文件夹下。

我使用pip list | xargs -exec pip show 查找该包裹的位置,但它没有显示出来。

我也尝试在python 导入包,使用:

import hlmm

我得到:

>>> import hlmm
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'hlmm'

如果我重做sudo pip install hlmm,我会得到:

Requirement already satisfied: hlmm in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied: scipy in /usr/local/lib/python2.7/dist-packages (from hlmm)
Requirement already satisfied: numpy in /usr/local/lib/python2.7/dist-packages (from hlmm)
Requirement already satisfied: pysnptools in /usr/local/lib/python2.7/dist-packages (from hlmm)
Requirement already satisfied: pandas>=0.19.0 in /usr/local/lib/python2.7/dist-packages (from pysnptools->hlmm)
Requirement already satisfied: pytz>=2011k in /usr/local/lib/python2.7/dist-packages (from pandas>=0.19.0->pysnptools->hlmm)
Requirement already satisfied: python-dateutil>=2.5.0 in /usr/local/lib/python2.7/dist-packages (from pandas>=0.19.0->pysnptools->hlmm)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/dist-packages (from python-dateutil>=2.5.0->pandas>=0.19.0->pysnptools->hlmm)

而且,我确实看到了/usr/local/lib/python2.7/dist-packages 下的hlmm 文件夹,但找不到tests 文件夹:

ls -1 /usr/local/lib/python2.7/dist-packages/hlmm
__init__.py
__init__.pyc
hetlm.py
hetlm.pyc
hetlmm.py
hetlmm.pyc

如何找到它的位置?而且,尽管出现import hlmm 错误,该软件包真的安装成功了吗?

【问题讨论】:

  • Anaconda site-packages的可能重复
  • 这个链接不能解决我的问题。我相应地编辑了我的问题。
  • 一个问题可能是您搜索的不是 miniconda 环境,而是预安装的 python2.7 版本。如果在显示no module named hlmm 的解释器中输入import sys print(sys.version),你会得到2.7 吗?您是否激活了安装 hlmm 的 miniconda 环境?
  • 感谢@Mason Caiby。是的,我在尝试导入包之前激活了我的 miniconda 环境 (source activate /home/&lt;my_username&gt;/miniconda3)。 print(sys.version) 返回:3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19) [GCC 7.2.0]
  • 在激活您的包后,hlmm 是否包含在与conda list 一起显示的包中?

标签: python ubuntu miniconda


【解决方案1】:

这太长了,不能成为评论,所以我将其发布为答案。

是的,听起来pip 是从您的 python 2.7 版本安装的。你应该阅读这篇文章:How to install PyPi packages using anacaonda conda command 和这篇文章:https://www.anaconda.com/using-pip-in-a-conda-environment/ 来决定你想如何继续。如果可能,我通常使用conda,如果 conda 没有构建,我通常使用pip。你可能想运行pip uninstall hlmm,然后激活你的conda env并使用pip3 install hlmm。但是,我认为您应该在进行研究后决定管理环境的最佳方式。

【讨论】:

  • 这可能无法解决您的问题,在您使用 python 安装东西之后使用 conda(甚至有时当您安装了 2 个 python 版本时)可能会非常痛苦。让我知道它是否有效。
猜你喜欢
  • 1970-01-01
  • 2019-11-19
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
相关资源
最近更新 更多