首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python基础教程:模块高级技巧

Python模块的搜索路径 当一个名为mylib的模块被导入时,解释器首先搜索内置模块是不是有该名字的模块。 如果没有找到,接着搜索sys.path列出的目录下面是不是有名为mylib的模块。...这是因为,当交互式运行Python解释器时(或者脚本是从标注输入读取的),可以认为传给解释器的脚本文件路径为空,那么就把sys.path[0]设置为空字符串,它告诉Python搜索模块时先从当前文件夹开始...这样就会导致你写的模块与系统模块重名时,它import的是系统模块而不是你写的模块,而前面两种方式就是导入你写的模块而非系统模块。这一点在使用IPython时要格外注意。...(2)如果我们导入m1模块时,搜索路径目录下只有m1.pyc而没有m1.py文件,那就直接导入m1.pyc。...Python的标注模块会在我们今后的编程中不断遇到和使用,具体的学习可以在今后用到时再学习。

80510

python 路径管理以及常见报错

.代表当前目录, ..代表父目录 工作目录 当前执行命令所在的目录 # 将工作目录添加进当前的路径列表 sys.path.append(os.getcwd()) 路径列表 查看当前路径列表 只有在路径列表当中的包和模块才可以导入和调用...import sys print(sys.path) 路径搜索顺序 当前脚本路径, 也就是执行文件的目录 PYTHONPATH路径 虚拟环境路径 site-packages 安装的第三方库所在路径...'xxxx' 为什么在pycharm中不报错, 在命令行当中报错 Pycharm会自动将当前项目的根目录添加到路径列表当中 `ModuleNotFoundError: No module named...而不是根据目录结构 把工作目录加入到路径列表当中 进入到项目根目录下执行命令 上述两个操作相当于将项目根目录加入到路径列表当中 注意事项 确定入口程序, 没有一个锚定的路径就没有办法做相对路径的管理 将项目根目录加入到入口程序当中...进入到项目根目录下执行命令 项目目录结构不要嵌套的太深 脚本文件或者临时运行单个模块中的方法, 可以将根目录临时添加到路径列表当中

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ModuleNotFoundError: No module named ‘config‘

    '"的错误消息时,意味着你尝试导入一个名为'config'的模块,但Python无法找到该模块。...模块没有正确安装由于没有安装正确的依赖模块,Python无法找到名为'config'的模块。解决此问题的步骤如下:确定你是否正确地安装了所需要的模块。...可以使用pip命令来安装模块,例如:​​pip install config​​。确保使用正确的模块名称进行导入。在Python中,导入模块时,需要确保使用正确的名称。...在我们的项目中,我们希望使用一个名为'config'的模块来管理网站的配置信息,但在导入时出现了"ModuleNotFoundError: No module named 'config'"错误。...可以使用以下命令来安装:shellCopy codepip install flask在项目的根目录下创建一个名为'config.py'的Python文件,并添加以下配置代码:pythonCopy code

    1.2K70

    命令行执行 ModuleNotFoundError: No module named ...

    在一个项目中如果我们使用类似pycharm这样的软件来写项目,项目中有些文件需要单独执行的时候,我们通常会使用软件自带的执行按钮来运行python脚本,但是有时候我们需要使用在命令行内敲击python...run.py这样的方式来运行脚本,这时就会出现ModuleNotFoundError: No module named ‘…’ 这样的报错。...这样报错的原因是我们import模块的时候使用的是相对路径,所以命令行运行的时候就找不到模块的路径。...Better Method其实这样做的目的无非是将当前模块的path添加到sys.path中,所以还有下面这个通用方法: 比如我们的项目结构是:app /module1 a.py.../module2 b.py然后我们需要在b文件中import a文件的方法,通常我们会写:from module1.a import *但是命令行执行b文件会找不到模块,因为执行的路径是当前

    5.3K30

    GPU部署deepseek蒸馏模型?其实CPU主机就可以

    若模型使用Hugging Face的transformers库中的分词器,在命令行执行: bash pip install transformers 模型部署与调试: 新建一个Python语言的脚本文件命名为...“CUDA out of memory”错误,检查代码中是否有默认使用GPU的设置并修正;“ModuleNotFoundError”则意味着缺少相应库,按提示安装即可。...在“deploy_deepseek.py”脚本中,修改 input_text 变量的值,重新运行脚本,就能得到新的生成结果。 2.问答任务 可以利用部署好的模型进行简单问答。...不过要注意,DeepSeek蒸馏模型的表现取决于训练数据,对于专业性强或较新的知识,回答的准确性可能有限。同样在脚本中修改 input_text 为问题内容,执行脚本获取答案。...在台式电脑主机的CPU环境下实现DeepSeek蒸馏模型的部署,其实有没有GPU并不重要,它不仅为无GPU条件的情况提供了可行方案,还让我们深入了解深度学习模型在不同硬件环境下的运行机制,通过多种使用方式

    70210

    Python小技之自定义不同文件夹下模块导入问题

    一般在写一个项目的时候, 为了将项目模块化, 更加的清晰明了, 会将不同功能的模块放入不同的文件夹 项目如下: ├── spider │ └── spider.py # 爬虫文件 └── utils...又会得到: # 找不到这个模块 ModuleNotFoundError: No module named 'utils' 尝试解决: 在spider.py文件第一行加入: import sys sys.path.append...("../") 输出: > import download 问题二: mgd, 终于解决了, but, 一般爬虫脚本, 要用crontab或其他定时调用脚本时, 要使用绝对路径 在根目录或家目录下试一下...> from utils.downloads import download ModuleNotFoundError: No module named 'utils' 于是: 在spider.py..., 大神到这步应该就知道怎么解决了吧 解决: 其实, 说来说去, 根本问题就是脚本工作目录的问题, 也就是在那里启用的脚本 方案一: 改变目录结构, 内容保持一致, 如下: ├── spider.py

    1.1K20

    在Python中定义Main函数

    不过,在强调代码目的时,还是存在细微的差异: 文件:通常,Python文件是包含代码的任何文件。大多数Python文件的扩展名为.py。...“如何运行Python脚本”一文也讨论了三者的差别。 基于命令行执行 在这类方法中,Python脚本将通过命令行来执行。 执行脚本时,无法与Python解释器正在执行的代码交互。...您键入的命令位于$之后。在Linux或macOS上,Python3的可执行文件名为python3,因此可以通过输入python3 script_name.py来运行python脚本。...在导入过程中,Python执行指定模块中定义的语句(但仅在第一次导入模块时)。...前两行由于没有变量,在输出方面与在命令行上作为脚本执行时完全相同。但是第三个输出存在差异。 当Python解释器导入代码时,name的值与要导入的模块的名称相同。您可以通过第三行的输出了解这一点。

    3.9K30

    python 模块

    sys.argv是用来获取命令行参数的, 直接输出sys.argv print(sys.argv) 结果如下: ['E:/python_script/a.py'] 在Pycharm里面执行,它会输出绝对路径...在cmd里面,进入脚本目录,再次执行。它输出的是相对路径 ?...导入自定义的模块 这里介绍一个,最简单的用户登录模块 在同级目录下,创建文件login.py,代码如下: #!...现在我把login.py移动到new_dir目录下 再次运行a.py,就会报错 ModuleNotFoundError: No module named 'login' 首先,python 导入模块的时候...最后发现不存在时,提示 No module 这个问题,有3个解决办法: 1.把模块放到同级目录(不推荐) 2.把模块放到环境变量的其中一个目录(不推荐) 3.把new_dir目录,加入到环境变量中(推荐

    97630

    TensorFlow2.x目标检测API安装配置步骤详细教程

    https://github.com/tensorflow/models,将解压后的目录重命名保存到指定目录,下载 解压后是models-master文件夹,重命名为models,然后放到指定目录,比如...在python安装目录的Lib\site-packages下创建tensorflow.pth文件,在其中添加Object Detection API文件路径: D:\TensorFlow\models\...成功了会在D:\TensorFlow\models\research\object_detection\protos下面生成一些py文件 五、安装缺失模块。...在models/research目录下打开cmd窗口,输入python object_detection/builders/model_builder_tf2_test.py 回车运行会提示缺模块 ①...在TensorFlow\models\research目录下cmd运行python object_detection/builders/model_builder_tf2_test.py 如果没有报错,

    2.4K10

    用一个 Python 脚本实现依次运行其他多个带 argparse 命令行参数的 .py 文件

    问题描述:在 Windows 环境中,您希望通过一个 Python 脚本来实现特定的自动化任务,该任务需要依次运行其他多个带 argparse 命令行参数的 .py 文件。...您希望找到一种简洁、高效的方法来解决这个问题。 问题分析与解决: 在 Linux 开发环境中,我们通常可以使用 Bash 脚本来依次运行其他多个带 argparse 命令行参数的 .py 文件。...运行结果如下所示: 运行的 .py 文件的文件名为:script_01 运行的 .py 文件的编号为:01 123 运行的 .py 文件的文件名为:script_02 运行的 .py 文件的编号为:02...小结: 在 Python 中,可以方便地使用 os 模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码。...参考链接: 在 Python 中处理命令行参数详解(sys.argv 与 argparse 详解) Python 如何运行多个 py 文件 带参数 Python 中四种运行其他程序的方式

    12000

    Python 的 import 是怎么工作的?

    一个模块定义一个命名空间,以便变量、函数和类可以在两个不同的模块中具有相同的名称,同样的,一个包对其组成的包和模块做同样的事情,可以通过点号访问主包中的模块和包。...一个可能的 package 结构如下所示: 而 setup.py 存在于你的 package 所在的主目录中,包含配置信息,如所需的依赖项、脚本和子包。...会去 sys.path 查找就行了,如果遇到了 ModuleNotFoundError,思考一下为什么 sys.path 没有我们要导入的包,或者手动把这个包的路径插入到 sys.path 中去。...,换句话说,这是一个子包,必须让父包来调用它,直接运行这个文件是不行的,即使你在 file4.py 的目录 subpackage1 同级的目录执行该文件也是不行的,见上图。...file5.py 可以看出,相对导入已经正常工作: 结论 如果是当做脚本文件直接运行的,使用绝对导入 如果是当做模块供其他文件导入,使用相对导入 3、一个自定义包的例子 先上一个图来看下目录及引用结构

    77910

    Python的包与模块导入问题

    导入报错 python中导入包与模块时,一般会遇到两个问题: 1、ValueError: attempted relative import beyond top-level package 2、ModuleNotFoundError...1、使用相对路径导入导致的顶级层次报错,python中以当前运行的脚本所在目录作为顶层层次,比如运行run.py时,A\B都是顶级层次,不能跨越顶级层次引用包或模块!...如果grok.py中打印__name__,会看到包的路径为A.grok,A便为此时的顶级层次,不能跨顶级层次访问B 2、运行脚本时不能识别到顶级层次外的模块,所以导致报错2 如何注意和规划代码层次 1...单独执行内部模块的文件时,可能会因为跨目录导入模块导致运行出错。...如果有,则应该把脚本放在顶级层次之外运行或添加路径到sys.path包查找路径中。

    2.4K40

    python--如何优雅的import

    import就是导入其他文件中的类,方法,变量,我认为除了主流程逻辑,其他代码文件模块就是为了给别人import的~ 对于最通用的import,使用起来确实很方便,但是当遇到问题时也确实头疼,本文就详细介绍下...而os模块,虽然是Python解释器自带的,但在使用前需要先导入。所以,当我们说“内置模块”时, 通常是指Python标准库中的模块,这些模块在Python解释器中已经包含,无需额外安装。...性能:使用import *语句可能会降低代码的性能,因为Python需要在运行时查找模块中的所有变量、函数和类。...import中的ModuleNotFoundError问题 上面介绍了import在查找模块的顺序,但是还是经常会遇到,明明路径是对的我都能找到文件,还是出现了ModuleNotFoundError的问题...main.py this is tool.py this is train.py this is infer.py main 所以,这里是建议 如果是当做脚本文件直接运行的,使用绝对导入 如果是当做模块供其他文件导入

    1.1K191

    python中import星_Python imports 指北

    参考链接: 为什么在Python中import星号*是个坏主意 声明:如果你每天写Python,你会发现这篇文章中没有新东西。...pizza.py代码中的全局变量__name__设置成了没有.py后缀的文件名。 所以,事实是,__name__是保存当前Python模块名称的全局变量。...初始化是在包导入时触发的,换句话说,导入包时调用__init__.py当你导入一个包时,包内的__init__.py模块被执行 在__init__模块中,你可以做任何你想做的事情,但最常用的是用于一些包初始化或设置专用的...在创建自己的sys.py模块时,需要避免使用标准模块的名称,因为import sys可以覆盖标准库sys模块。...Python的模块搜索路径在运行时可作为sys.path 如果将模块作为脚本文件运行,则将包含该模块的目录添加到sys.path中,否则,会将当前目录添加到sys.path中 当人们将一堆测试或示例脚本放在主包相邻的目录或包中时

    1.1K00
    领券