Python导包问题解决大全

阅读: 评论:0

Python导包问题解决⼤全
导包时出现如下错误
from st_battal import TestBattal污染处理
ModuleNotFoundError: No module named 'test_project'
说明python执⾏时不到这个包⽂件,所以⽆法调⽤。那么我们需要先知道python是如何搜索的。
当⼀个名为 ***的模块被导⼊的时候,解释器⾸先寻具有该名称的内置模块。如果没有到,然后解释器从 sys.path 变量给出的⽬录列表⾥寻名为 ***.py 的⽂件可以使⽤[sys.path]打印出python包的路径
软硬件协同设计
import sys
print(sys.path)
解决办法⼀:
将⽂件的⽬录临时追加到搜索⽬录中,因为⽬录写死,只适合临时解决问题
混炼机
#注意导包代码需要放在添加路径的代码后,否则依然⽆法到包
异形注塑模板import sys
import unittest
import os
sys.path.append(r'F:/教程/全栈测试开发课程/第26课时')
# dir_path1 = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# sys.path.append(dir_path1)
# print(dir_path1)
from st_battal import TestBattal发光管
if __name__ == '__main__':
# 根据给定的测试类,获取其中所有以test开头的测试⽅法,并返回⼀个测试套件
suite1 = unittest.TestLoader().loadTestsFromTestCase(TestBattal)
# 将多个测试类加载到测试套件中
suite = unittest.TestSuite([suite1])
# 设置verbosity = 2,可以打印出更详细的执⾏信息
unittest.TextTestRunner(verbosity=2).run(suite)
解决办法⼆:
使⽤相对路径,临时添加到sys.path⽬录,包⽬录不依赖环境,随便更换环境都可执⾏。
#注意导包代码需要放在添加路径的代码后,否则依然⽆法到包
dir_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(dir_path)
解决办法三:
直接写⼊到python系统路径,可以永久解决,但是路径也是写死的。
使⽤pth⽂件,在 site-packages ⽂件中创建 .pth⽂件,将模块的路径写进去,⼀⾏⼀个路径,以下是⼀个⽰例,pth⽂件也可以使⽤注释:
# write to apckage path
C:\Users\Administrator\Desktop\test_project
C:\Users\Administrator\Desktop
然后可以愉快的导包玩耍了。
rs232和ttl解决办法四:
既然python是通过查路径来包,那么我们可以配置环境变量,让python去我们指定的路径去,这样也是可以解决问题。
新建⽤户环境变量
设置名称和路径
其中,在“变量名”⽂本框内输⼊ PYTHONPATH,表明将要建⽴名为 PYTHONPATH 的环境变量;在“变量值”⽂本框内输⼊ .;d:\python_ module。注意,这⾥其实包含了两条路径(以分号;作为分隔符):
第⼀条路径为⼀个点(.),表⽰当前路径,当运⾏ Python 程序时,Python 将可以从当前路径加载模块;
第⼆条路径为 C:\Users\Acer\Desktop,当运⾏ Python 程序时,Python 将可以从桌⾯中加载模块。
然后点击“确定”,即成功设置 path 环境变量。此时,我们只需要将模块⽂件移动到和引⼊该模块的⽂件相同的⽬录,或者移动到 C:\Users\Acer\Desktop 路径下,该模块就能被成功加载。

本文发布于:2023-05-18 15:17:37,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/104184.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:路径   测试   代码   模块   导包   需要   放在   添加
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图