软件包安装但未找到

Packages install but not found

我在 /usr/local/lib 下安装了软件包,我也将其添加到我的 PATH 中,但随后我尝试将其导入到我的任何 python 脚本中,我收到一条错误消息,提示找不到模块.

-bash-4.2$ pip2 list | grep pytest
pytest-mock                             2.0.0

我的路径:

echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/bin

错误:

-bash-4.2$ python2
>>> import pytest
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pytest

只有当软件包安装在我的/users/user-name/.local/bin 文件夹下时,才会反映出来,否则不是。

我的用例是将这台机器用作我的 Jenkins 设置的从机。我也尝试在构建过程中将此 PATH 直接注入作业。对我不起作用。

我已经坚持了很长一段时间,非常感谢任何帮助。

首先,使用 virtualenv 创建 Python 环境通常是个好主意 - 在系统范围内安装 Python 包是自找麻烦。

其次,您的路径可能不起作用,因为您正在以 Jenkins 忽略的方式设置 PATH。最简单的解决方案是提供文件的完整路径:/usr/local/bin/pytest.

最安全的方法是结合以上两个 - 创建virtualenv,在其中安装pytest并在使用时提供完整路径(注意:您不需要激活virtualenv使用它)。