Как импортировать lib в repy, используя сиэтлскую среду - PullRequest
0 голосов
/ 14 января 2012

Я должен импортировать lib в мой проект в repy, но он возвращает ошибку.Я хочу использовать модуль с алгоритмом Дейкстры, чтобы запустить его на судах в Сиэтле, чтобы показать кратчайший путь между судами.

from priodict import priorityDictionary

def Dijkstra(G,start,end=None):

 D = {} # dictionary of final distances
 P = {} # dictionary of predecessors
 Q = priorityDictionary()   # est.dist. of non-final vert.
 Q[start] = 0

 for v in Q:
    D[v] = Q[v]
    if v == end: break

    for w in G[v]:
        vwLength = D[v] + G[v][w]
        if w in D:
            if vwLength < D[w]:
                raise ValueError, \
  "Dijkstra: found better path to already-final vertex"
        elif w not in Q or vwLength < Q[w]:
            Q[w] = vwLength
            P[w] = v

return (D,P)

def shortestPath(G,start,end):

D,P = Dijkstra(G,start,end)
Path = []
while 1:
    Path.append(end)
    if end == start: break
    end = P[end]
Path.reverse()
return Path

выдает ошибку вот так:

Uncaught exception! Following is a full traceback, and a user traceback.
The user traceback excludes non-user modules. The most recent call is displayed
last.

Full debugging traceback:
  "repy.py", line 428, in <module>
  "repy.py", line 178, in main
  "D:\STUDIA\LAN\seattle\seattle_repy\virtual_namespace.py", line 78, in __init
_

User traceback:

Exception (with type 'exceptions.ValueError'): Code failed safety check! Error:
("<class 'safety_exceptions.CheckNodeException'> (4, 'From')",)

Что я должен сделать, чтобы все заработало?

1 Ответ

0 голосов
/ 14 января 2012

Из того, что я могу найти в Google, вы не можете использовать import в Repy .Вместо этого используйте что-то вроде

include priodict.repy

.

...