找到 conda 放置我安装的 python 包的位置

Locate where conda placed a python package I installed

一个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 错误,软件包真的安装成功了吗?

评论太长了,所以我post将其作为答案。

是的,听起来 pip 从您的 python 2.7 版本安装了它。您应该阅读此 post: and this article: https://www.anaconda.com/using-pip-in-a-conda-environment/ 来决定您要如何进行。我通常尽可能使用 conda,如果 conda 没有构建,我通常使用 pip。您可能想要 运行 pip uninstall hlmm 然后激活您的 conda env 并使用 pip3 install hlmm。但是,我认为您应该在研究之后决定管理环境的最佳方式。