Adding print statements to cython code affects output
<p>I have an application that's written in a combination of Python and Cython.  I recently added a new feature and tests to this application.  The tests pass on my local machine (a macbook), but when I push to appveyor (a Windows CI service) the tests fail.  This in itself is not so strange.  When I add print statements to my Cython code in an attempt to see what is happening when it runs on appveyor, the tests no longer fail.  This is frustrating because it leaves me no way to figure out what's happening when the tests fail on appveyor.  It also is just perplexing because it violates my understanding of how Python and Cython work in general.  </p>

<p>My code is complex and there's no reasonable way for me to share an example of this phenomenon.  However, I'm looking for reasons this could happen.  How and in what situations might a print statement in Cython code have an effect on other computations?</p>

<p>To save some time, you can try to debug deeper using blocking RDP (<a href="https://www.appveyor.com/docs/how-to/rdp-to-build-worker/" rel="nofollow">https://www.appveyor.com/docs/how-to/rdp-to-build-worker/</a>) which you can insert in different stages of Appveyor build. Just please note that Environment variables in RDP session are not the same as for build agent process so you might need to adjust RDP environment to get a repo.</p>

<p>--ilya. </p>

python windows cython appveyor