为什么设置了.pth文件,python还是找不到模块?

发布于 2022-09-05 02:38:07 字数 753 浏览 17 评论 0

我的python是3.5.2版本的。
我有一个helloworld.py模块,它里面有个show函数用来输出"Hello World"。我把这个模块放在pck文件夹下面,然后把pck文件夹放在C盘下。

然后,在python安装路径的site-packages目录下修建了PckPath.pth文件,里面尝试了各种写法:

  • C:\

  • C:\pck

  • C:\pck\helloworld

  • C:\pck\helloworld.py

  • 把上面的反斜杠换成正斜杠

  • ........

无论是哪一种,在桌面新建test.py文件,然后输入

import pck.helloworld
pck.helloworld.show()

在IDLE都会提示

Traceback (most recent call last):
  File "C:\Users\Berlin\Desktop\test.py", line 1, in <module>
    import pck.helloworld
ImportError: No module named 'pck

为什么??如果我直接在test.py中设置sys.path.append(...)则可以正常使用,到底哪里出问题了?.pth文件怎么弄啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

滥情哥ㄟ 2022-09-12 02:38:07

Python默认查找包的地方有以下几个:

  1. Python安装目录下的site-packages目录

  2. 环境变量PYTHONPATH的目录

  3. 当前目录

  4. sys.path.append(...)添加的目录(这个是临时的)
    然而如果你只把包放在了C盘下面,那么它不属于任何一种情况,Python当然就找不到包了。除了sys.path.append()方法,上面方法中还有将C:\加到PYTHONPATH环境变量也是可以的。

总攻大人 2022-09-12 02:38:07

任何语言几乎都是在从系统变量、语言设置变量到最终的即时记载的变量,基本都是这个顺序,对于同一个变量,最近的是生效的。我学这些语言的环境问题什么的都是这么排查的,一查一个准儿

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文