you have graph with n nodes and n-1 edges, while for TSP graph must have at least n edges. My proposed solution with additional edge from last point to start point:
points = ((1, 2), (3, 4), (5, 6), (9, 10))
G = nx.Graph()
prev_point = None
for i, cur_point in enumerate(points):
assert(len(cur_point) == 2)
if i != 0:
a = length(cur_point, prev_point)
G.add_edge(i, i-1, weight = a)
prev_point = cur_point
G.add_edge(0, len(points)-1, weight = length(points[0], points[-1]))
p = TSP(G, objective = 'weight', start = 0)
r = p.solve('sa')
r.nodes.pop(len(r.nodes)-1)
distance = r.ff
path = r.nodes
print distance # 22.627416998
print path # [0, 3, 2, 1]