软件包已安装但未找到

时间:2020-03-15 16:00:00

标签: linux jenkins path package rhel

我在/ 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注入到作业中。没为我工作。

我已经坚持了很长时间,对此的任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先,使用virtualenv创建Python环境通常是一个好主意-在系统范围内安装Python软件包会带来麻烦。

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

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