我的确意识到这是一个不好的问题,但我一直在尝试一个小时,但我无法做到。如何以.py文件的形式安装Python模块?
所以,我有一个Python脚本,我想修改一下,作为一个Python初学者来玩。然而,在脚本的最开始,有这样的:
from priodict import priority_dict
现在,我有一个名为priodict.py
文件与脚本来了。但是,如何将它提供给脚本,使其可以像这样被包含?
Python手册有关于安装模块的页面和页面,但它们似乎都指代将被放置在某些目录中的“包”等等。我只有.py文件时该怎么办?
我知道可能对此有一个平庸的一句话回应,但我感到沮丧,而且时间不够,所以我决定采取简单的方法,并让Stack对此溢出了解。
看来,如果我没有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
你可能已经改变了'dijkstra.py'文件。代码不应该产生NameError(并且与安装模块无关)。 – jfs 2013-03-03 18:24:42
你是对的,当文件在同一个目录下时,错误确实是不同的 - 但仍然存在错误。如果有人能够高层次地分析可能会出现什么问题,那么我将新错误和链接提供给问题中的文件。 – jovan 2013-03-03 18:27:45
您可能会收到第一个错误的唯一方法是如果您删除或更改了'from ... import'行。我不知道你是如何得到第二个错误,但我认为这也是因为你改变了一些东西。尝试使用这些文件的原始版本而无需更改任何内容。 – interjay 2013-03-03 18:30:40