The top row 2 must have a bend through it, so a segment must go from it downward. The same is true for the left column 5. The right column 3 must have a line straight through it, so the line must be an up-down one, as it is not possible to go right. Same for the bottom row 3 - the line must pass through it going right-left. The two bottom-most circle 2's cannot have a line passing down through them, as it would have to extend through both, making it have a length of at least three segments; but the length can only be two for these, so lines must pass through them horizontally. The lower of these must turn upward at the left end, otherwise it will collide with the three. The right-hand sides of these lines must turn away from each other, otherwise they will form an enclosed box. The segment leaving the three must extend to the right, and so must turn up at the left.
The 2 in the lower left cannot go right, or it would collide with a completed segment, so it must go left. The 5 in the upper right can only have one segment up or to the right, and two to the left before colliding, so it must have at least three segments downward. It must be exactly three, otherwise there would be four segments coming out of the 2 below it. So there must be three below, and two to the left. The 5 in the fourth row, then, can only go at most one up, one right, two left, and four down. From this, we know it must go down by at least three segments. The circle 3 in the 6th row must have a segment going straight through it; a left-right segment would collide with the line just drawn, so there must be an up-down line through it, at least one segment up and at least one segment down. The 3 to its left cannot go to the right, or it would collide; so, it must go left, at least one segment.
The 2 in the lower left cannot have the line through it turn down, otherwise there will be three segments through it, instead of two; so it must turn up. This means that the disconnected segment below it must go left and up. The end of the segment above that 2 must turn right; if it turned left, it would have to turn to meet the 5, but there would be too few segments leaving the 5. So the line leaving the 5 must turn upward, and must go at least three segments; if it were two or fewer, the line to the right of the 5 would extend to the 3, making the segments leaving the 3 too long. The line leaving the 2 on the right cannot go up, so it must go down. We know that it must turn at the dot below the 2, otherwise the segments leaving the two will be too long. It must turn left, otherwise it will collide with the circle 3. Because it has turned left, it is no longer possible for a 4-segment line to pass vertically through the circle 4, so the line through the circle 4 must go horizontally, and to avoid a collision must start at the far right. The left end of this line must turn up, otherwise it has no path it can follow. It will then pass through a circle 3, making a total of three straight segments through this three; so this line must turn at its top, but cannot turn right, so must turn left. We know the bottom endpoint of the circle 3 on the right, and we know it must be exactly three segments in length through the circle 3, so we know it must turn left at the top, connecting it to the line from the top right 5. The line leaving the topmost 2 cannot go right, as there is nowhere for it to go, so it must go left, and it must turn down after one step, to keep the segment count out of the 2 at two. The path away from the rightmost 2, below it, must go left to lead to the 5, as there is no other way to go. The 5 in the fourth row has three segments below it, so there must be two to the left or right; to the right would be a collision, so it must go left to the three. We can now complete some of the upper path from the rightmost 2, as there is no other way to go.
The line through the upper left circle 5 must be either five straight segments up-down, or five straight segments left-right. Up-down is impossible, as it would create a small enclosed box in the upper left. So the line must go left-right and reach the left edge. It must turn down on its left end, as if it turned up there is nowhere to go. So it connects with the line from the left-column 5. Five segments already extend from this left-column five, so the one-segment stub to its right must turn up or down. Down is a collision, so it must turn up. We can extend the left-right line on the third row, middle area, one more segment to the left, as there is nowhere else for it to go (going up or down would lead to a collision). The left member of the side-by-side pair of 3's cannot have a segment going to the right (too long), so a segment must go to the left. The right member of this pair cannot go up, as it would form a small enclosed area, so it must go down. The 3 below it must turn down, as there is nowhere else to go. The segment to the left of this 3 must turn, as we already have three segments emerging from this three. If it were to turn down, it must then turn left, and would form a small enclosed area, so it must turn upward. The dangling segment in the lower left cannot go right (dead end), so must go up, twice (two segments). The dangling segment to its right cannot go left (forms small enclosure), so must go up. The dangling line in the third row must extend at least two more spaces to the left, as there is nowhere else to connect.
The dangling segment leading up from the lower left 2 cannot go up (forms small enclosure), so must go left. The lower of the two remaining dangling segments must turn (we are already at the limit of segments leaving the 3), and so must turn up, as that is the only viable way to go. This completes the puzzle.