解决python包ModuleNotFoundError问题

做生信分析时要使用deeptools这个包,包是用python写的,使用

python setup.py install --prefix /home/ltf/package/deepTools-3.3.0

将程序安装到服务器自己的账户上,然后在~/.bashrc这个环境变量中加入路径

PATH=/home/ltf/package/deepTools-3.3.0/bin:$PATH

source一下去使用这个包,结果报错:

ModuleNotFoundError: No module named 'deeptools'

问题出现的原因

这说明这个包没能加到python的环境变量中去(其实ModuleNotFoundError已经很清楚的告诉了这个问题了)

有一点要理解的是:之前加环境变量是将bin文件加入环境变量,之后再调用bin文件夹下的文件就不必写绝对路径了。

所以,现在就是要把包的加入到python的路径下
安装这个包时,生成了一个lib文件夹,里面是python要调用的。

对于python写的包,服务器执行时需要python将python脚本先翻译成自己能执行的语言,才能理解python脚本的内容。
服务器要使用python脚本,就告诉python,让python去把python脚本进行翻译,但是python却找不到这个包的路径,所以就会报错:ModuleNotFoundError

解决方法

知道了这些,一种比较简单的解决方法是:
在环境变量(~/.bashrc)中将这个包的路径告诉python

export PYTHONPATH=$PYTHONPATH:/home/ltf/package/deepTools-3.3.0/lib

然后source一下环境变量,当前用户下就可以永久使用了。

你可能感兴趣的:(程序问题)