Python3 使用 pip3 安装后出现模块未找到错误

Python3 module not found error after installation with pip3

我一直卡在 python3 的模块未找到错误上。 我在 Microsoft Azure 上有一个 VM,一个 Centos 7。然后我安装了 python3 和 pip3,以及一些我需要的包。但是有一个包我安装后就是找不到

sudo pip3 install --user stockstats

但是每当我想 运行 一个使用这个包的 python 脚本时,有 ModuleNotFoundError: No module named 'stockstats'

我试过的:

pip3 show stockstats

因为我真的很想看看它安装在哪里。它什么也没显示。它应该做的是这样的:

Name: openpyxl
Version: 3.0.7
Summary: A Python library to read/write Excel 2010 xlsx/xlsm files
Home-page: https://openpyxl.readthedocs.io
Author: See AUTHORS
Author-email: charlie.clark@clark-consulting.eu
License: MIT
Location: /usr/local/lib/python3.6/site-packages
…

然后我估计可能是安装路径有问题,所以我把包卸载了,然后

sudo pip3 install stockstats --install-option="--prefix=/usr/local/lib"

(我只是猜测如果那里安装了 openpyxl 那么 stockstats 也应该在那里,因为 python 成功导入了 openpyxl) 还是不行,错误依旧。

*除了 pip3,我没有使用任何包管理器。

** 当我尝试使用 python3() 时出现了一些异常情况。已解决,但我不确定post中的错误是否与此有关。

如有任何帮助或提示,我们将不胜感激;)

安装 pip 时可能出现一些错误。

  • 重新安装python。

  • 检查输入的模块名称是否正确

  • 在 pip 中安装 stockstats,如“pip install stockstats”(来自 pypi.com)

这对我有用。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple stockstats

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install stockstats

感谢大家的及时回复。 在郭磊的评论之后,我尝试下载这个包的 tar 球并在没有 pip 的情况下自己安装它,最终告诉我到底发生了什么:stockstats 需要的名为 int-date 的模块没有安装在 python 库目录。我把它安装到正确的目录后,问题就解决了。

正如 Danila Vershinin 和 phd 所指出的,我真的不应该 运行 pip 作为 root,这就是问题的根源(然而奇怪的是,只安装了 stockstats 所需的一个特定模块在/root/.local/lib/。其他的都在正确的地方,也许我添加了前缀标志而没有记住它......?)

不过,我不确定,我 运行 pip 使用 sudo 因为我反复收到权限被拒绝的错误——所以我应该使用像 sudo --user 这样的东西吗?或者其他什么?