python上传模块,别人搜索不到
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python上传模块,别人搜索不到相关的知识,希望对你有一定的参考价值。
参考技术A 只有自己可以搜索。Python不仅简单易学移植性好,而且拥有强大丰富的库的支持,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。
能够透彻地理解Python中的一般表达式控制结构异常机制类机制多线程机制模块的动态加载机制,内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言。
Python 2.7 在其搜索路径中找不到模块
【中文标题】Python 2.7 在其搜索路径中找不到模块【英文标题】:Python 2.7 cannot find module in its search path 【发布时间】:2020-09-10 18:56:53 【问题描述】:我想测试一下 Python 2.X 的相对导入模型
目录树:
exercises/
dir1/
dir2/
mod.py
dir3/
mod2.py
mod3.py
mod.py
import sys
print 'in dir1/dir2/mod.py'
path = [name for name in sys.path if 'Frameworks' not in name].
print 'Module search path of mod is:\n' + str(path)
import dir3.mod2
mod2.py
print 'in dir1/dir2/dir3/mod2.py'
import mod3
mod3.py
print 'in dir1/dir2/dir3/mod3.py by relative import'
'mod' 会从 'dir3' 导入 'mod2',然后再导入 'mod3'。在 Python 3.X 中,这会失败,因为没有提供“mod3”的路径;在 Python 2.X 中,解释器先搜索包含“mod2”的同一目录,然后再搜索从“mod”的***目录开始的路径的其余部分。
这是我收到的错误消息:
MacBook-Pro-9 exercises % python dir1/dir2/mod.py
in dir1/dir2/mod.py
Module search path of mod is:
['Users/arthur/Desktop/learning_python/exercises/dir1/dir2', '/Library/Python/2.7/site-packages']
Traceback (most recent call last):
File "Desktop/learning_python/exercises/dir1/dir2/mod.py", line 8, in <module>
import dir3.mod2
ImportError: No module named dir3.mod2
我知道“dir2”包含“dir3/mod2”,但由于某种原因,Python 找不到它。我很确定 import 语句的语法是正确的。
我修改了打印语句并将“mod2.py”代码更改为from . import mod3
。我没有编辑其他任何东西,它在 Python 3.8 中运行得很好。找到 'dir3.mod2' 没有问题
【问题讨论】:
【参考方案1】:您必须在 dir3 中添加一个名为 init.py 的空文件,以便 python 能够将该目录识别为 Python 包目录。如果你有这些文件
dir3/__init__.py
dir3/mod2.py
dir3/mod3.py
您现在可以将 mod2.py 和 mod3.py 中的代码导入为
import dir3.mod2
import dir3.mod3
或
from dir3 import mod2
from dir3 import mod3
如果您删除 init.py 文件,Python 将不再在该目录中查找子模块,因此尝试导入模块将失败。
这里是a link。
【讨论】:
以上是关于python上传模块,别人搜索不到的主要内容,如果未能解决你的问题,请参考以下文章