当前位置:首页 » 编程语言 » pythonimport找不到模块

pythonimport找不到模块

发布时间: 2024-10-09 19:23:45

1. 详解python中import方法引入模块

在python用import或者from...import或者from...import...as...来导入相应的模块,作用和使用方法与C语言的include头文件类似。其实就是引入某些成熟的函数库和成熟的方法,避免重复造轮子,提高开发速度。
python的import方法可以引入系统的模块,也可以引入我们自己写好的共用模块,这点和php非常相似,但是它们的具体细节还不是很一样。因为php是在引入的时候指明引入文件的具体路径,而python中不能够写文件路径进行引入。
下面总结一下import的几种情况:
python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。
下面将具体介绍几种常用情况:
(1)主程序与模块程序在同一目录下:
如下面程序结构:
`-- src
|-- mod1.py
`-- test1.py
若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;
(2)主程序所在目录是模块所在目录的父(或祖辈)目录
如下面程序结构:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py
若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序导入上层目录中模块或其他目录(平级)下的模块
如下面程序结构:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py
若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:
下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py
而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。
import sys
sys.path.append("..")
import mod1
import mod2.mod2

2. python导入Android模块,提示不存在

madagascar的自带模块默认存放在$RSFROOT/lib/python/site-packages目录下,模块的搜索路径由环境变量PYTHONPATH决定。安装madagascar时,默认的环境变量值为PYTHONPATH=$RSFROOT/lib/python/site-packages,此时虽然所有的模块都包含在这个文件夹下,但是编译时默认只搜索指定目录的直接内容,而不搜索其子目录,因此对于模块不存在问题有两种解决办法。
比如 import fdmod
时提示fdmod模块不存在,通过查找,我们可以知道这个模块是放在.../site-packages/rsf/recipes目录下的:
a. 预处理命令改为 from rsf.recipes import
fdmod.因为默认从site-packages目录开始查找,可以找到rsf,
而rsf.recipes则表示rsf目录下的recipes子目录
b. 修改环境变量PYTHONPATH。为了一劳永逸,修改变量的方法更加方便。在设置文件 .bashrc 中添加
export PYTHONPATH=$PYTHONPATH:路径1:2:3:。。。
新加的路径最好是包括目录site-packages下的所有子目录以及子目录下的子目录,也就是说要包括到最低一级的目录,修改完之后
source 一下配置文件就可已了。然后重新启动shell。以后在导入自带模块时,直接写模块名称就可已了

热点内容
安卓平板和苹果的平板有什么区别 发布:2024-10-09 20:26:37 浏览:425
上传速度对网速的影响吗 发布:2024-10-09 20:09:38 浏览:561
密码锁芯在哪里能买到 发布:2024-10-09 20:05:33 浏览:452
传奇服务器强行下线是什么意思 发布:2024-10-09 20:05:11 浏览:920
sqljoinas 发布:2024-10-09 19:48:01 浏览:391
文本编辑器没有编译器可以吗 发布:2024-10-09 19:39:36 浏览:996
linux环境变量oracle 发布:2024-10-09 19:24:36 浏览:318
pythonimport找不到模块 发布:2024-10-09 19:23:45 浏览:510
安卓怎么卸载插件 发布:2024-10-09 19:07:13 浏览:932
see脚本 发布:2024-10-09 19:07:12 浏览:424