python - 如何安装作为 .py 文件给出的 Python 模块?

标签 python

我确实意识到这是一个笨拙的问题,但我已经尝试了一个小时,但我做不对。

因此,我有一个 Python 脚本,我想对其进行一些修改并作为 Python 初学者使用。然而,在脚本的最开始,有这样的内容:

from priodict import priority_dict

现在,我有一个脚本附带的名为 priodict.py 的文件。但是我如何让它对脚本可用,以便它可以像那样被包含在内呢?

Python 手册有一页又一页介绍安装模块,但它们似乎都指的是要放在某些目录中的“包”等。当我只有 .py 文件时我该怎么办?

我知道对此可能有平庸的一句话回应,但我感到很沮丧,而且我的时间很短,所以我决定采取简单的方法并询问 Stack overflow。

似乎,如果我没有 priodict.py 文件,我会得到这个错误:

Traceback (most recent call last):
  File "C:\Python27\scripts\dijksta.py", line 192, in <module>
    main()
  File "C:\Python27\scripts\dijksta.py", line 185, in main
    D, _ = dijkstra(G, 1, v)
  File "C:\Python27\scripts\dijksta.py", line 139, in dijkstra
    Q = priority_dict() # est.dist. of non-final vert.
NameError: global name 'priority_dict' is not defined

如果我将文件放在与我的脚本相同的目录中,我会收到此错误:

Traceback (most recent call last):
  File "C:\Python27\scripts\dijksta.py", line 2, in <module>
    from priodict import priority_dict
ImportError: cannot import name priority_dict

这些是有问题的文件:

https://github.com/kqdtran/ADA1/tree/master/dijkstra

最佳答案

将文件放在同一个目录中,这样您就可以开始了。看来你已经想通了这么多。如果您只有一个 .py 文件,这就是您通常需要做的。

如果您无法从模块导入名称,通常意味着该名称不存在于该模块中。尝试:

import priodict
print dir(priodict)

是否列出了 priority_dict?如果没有,是否有可能是您正在寻找的类似命名的属性?可能只是给您的说明拼写错误,例如不需要 _。

如果导入行失败,可能是模块代码本身有错误,必须首先更正。你会收到一条错误消息,告诉你它的大致位置。

关于python - 如何安装作为 .py 文件给出的 Python 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188969/

相关文章:

python - 如何在 Python 中对嵌套字典进行 2 次排序?

python - 在Python中求隐式函数的根

python - 指定大小的随机子集的 Numpy 列表

python - 在 Netbeans 中设置 Python

python - 使用python操作第三方网站的html源代码

python - 一次又一次编辑python脚本文件

python - 如何在python中进行并发执行?

python - 变量和参数有什么区别

python - 使用 Dropwhile 从嵌套循环快进 xrange?

python - Odoo Studio 服务器错误计算字段,错误