Nope! PsychoPy is built on OpenGL and PsychoJS is built on WebGL, both of these allow non-integer pixel values. How this is handled depends on your specific computer setup I think, but you can test it fairly easily like this:
from psychopy import visual, event
win = visual.Window()
# Make one rectangle that's 1px wide, one that's 1.5px wide and one that's 2px wide
obj1 = visual.Rect(win, fillColor="white", units="pix", size=(1, 100), pos=(-100, 0))
obj2 = visual.Rect(win, fillColor="white", units="pix", size=(1.5, 100), pos=(0, 0))
obj3 = visual.Rect(win, fillColor="white", units="pix", size=(2, 100), pos=(100, 0))
# Draw all the rectangles
while not event.getKeys(['escape']):
obj1.draw()
obj2.draw()
obj3.draw()
win.flip()