您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

解决已经下载了包但是报错ModuleNotFoundError: No module named ‘bx.interval’

5b51 2022/1/14 8:24:22 python 字数 7477 阅读 778 来源 www.jb51.cc/python

解决已经下载了包但是报错ModuleNotFoundError:Nomodulenamed‘bx.interval’在跑hic-pro的test文件的时候,总是在一步卡住,追溯到log文件显示:前面显示的是fromintervalsimportintersectionin啥啥的,然后就显示没有这个‘bx.intervals’的模块。ModuleNotFoundError:

概述

解决已经下载了包但是报错ModuleNotFoundError: No module named ‘bx.interval’

在跑hic-pro的test文件的时候,总是在一步卡住,追溯到log文件显示
前面显示的是from intervals import intersection in啥啥的,然后就显示没有这个‘bx.intervals’的模块。

ModuleNotFoundError: No module named 'bx.intervals'
pip install bx-python

但是还是一样的报错,我甚至怀疑和这个包根本没有关系,因为bx-python 和intervals包是并列放在了/lustre/home/acct-agrfyd/agrfyd/.conda/envs/py3.7/lib/python3.7/site-packages/路径下面的。(至于如何找一个下载好的包的路径就是 “pip install 包的名称”就会显示环境下的路径)
当我退回到 site-packages的路径下的时候,打开python(这个时候的环境要是再py3.7),然后

python3.7.7
>>>import bx.intervals
>>>
#显示是可以导入的

那这时候经过网页查询额书籍查询,了解到可能是导入模块的时候路径搜索出现了问题。
首先我们可以在site-packagesx下去查找sys.path文件

Python 3.7.7 (default, Mar 23 2020, 22:36:06) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/lustre/home/acct-agrfyd/agrfyd/.conda/envs/py3.7/lib/python3.7/site-packages', '/lustre/home/acct-agrfyd/agrfyd/.conda/envs/py3.7/lib/python37.zip', '/lustre/home/acct-agrfyd/agrfyd/.conda/envs/py3.7/lib/python3.7', '/lustre/home/acct-agrfyd/agrfyd/.conda/envs/py3.7/lib/python3.7/lib-dynload', '/lustre/home/acct-agrfyd/agrfyd/.local/lib/python3.7/site-packages']
>>> 

这里出现的输出结果是由四个部分组成

那么这个sys.path文件保存了模块搜索路径在机器上的实际配置,可以通过打印内置的sys.path来查看路径。
作用:导入模块的时候,python会由左至右搜索列表中的每一个目录,直到找到对应的module后。
其中①③是系统自定义的,而②④可以用于拓展路径,从而加入自己的源代码目录。

考虑是模块搜索路径出了问题,需要配置搜索路径,配置搜索路径的方式主要有3种:

一:用于当前终端:在当前终端中输入:export PATH=$PATH:<你的要加入的路径>不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。 export
NDK_ROOT=/home/jiang/soft/Android-ndk-r8e #只能在当前终端使用。
二:用于当前用户:在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PATH 的设置如下: $ gedit
~/.bashrc 加入:export PATH=<你的要加入的路径>: P A T H 如 果 要 加 入 多 个 路 径 , 只 要 : e x p o r t P A T H = < 你 要 加 入 的 路 径 1 > : < 你 要 加 入 的 路 径 2 > : . . . . . . : PATH 如果要加入多个路径,只要:export PATH=<你要加入的路径1>:<你要加入的路径2>: ...... : PATH如果要加入多个路径,只要:exportPATH=<你要加入的路径1>:<你要加入的路径2>:......:PATH当中每个路径要以冒号分隔。这样每次登录都会生效
添加PYTHONPATH的方法也是这样,在.bashrc中添加
export PYTHONPATH=/home/zhao/setup/caffe-master/python:/home/zhao/setup/mypy:$PYTHONPATH
保存后在终端输入 $ source ~/.bashrc 使环境变量立即生效

三:用于所有用户:$ sudo gedit /etc/profile 加入: export PATH=<你要加入的路径>:$PATH
就可以了。 终端输入:echo $PATH 可以查看环境变量
注意,修改环境变量后,除了第一种方法立即生效外,第二第三种方法要立即生效,可以source ~/.bashrc或者注销再次登录后就可以了!

因此我通过vi ~/.bashrc添加PYTHONPATH来修改了之后,就可以成功地调用模块,在任何目录下都可以了。

总结

以上是编程之家为你收集整理的解决已经下载了包但是报错ModuleNotFoundError: No module named ‘bx.interval’全部内容,希望文章能够帮你解决解决已经下载了包但是报错ModuleNotFoundError: No module named ‘bx.interval’所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶