Closed GoogleCodeExporter closed 9 years ago
Hi,
I'd just like to second kimbendtsen's comments - PyScripter was recommended to
me by
a colleague and I really like it, but I haven't been able to figure out how to
get it
to recompile my code. At this point, I have half a dozen .py files, and it
insists
on running old versions of each of them except the top level module. The only
way
around this that I can find is to restart PyScripter. Any advice would be
greatly
appreciated.
Thanks,
-Eric
Original comment by eric.cas...@gmail.com
on 18 Nov 2008 at 3:45
Ok, I figured out a way around this by using the remote python engine. To use
it
with PyScripter you need to get the 2.6 version of Rpyc (per Issue #250). This
is
hard to find, as they don't have the old version posted in their releases.
They do
have a SVN repository with the code here:
http://sebulbasvn.googlecode.com/svn/tags/rpyc/2.60/
For some reason I couldn't use SVN to check it out, so I just took a few
minutes and
saved each file individually. I placed these files here:
...\Python25\lib\site-packages\Rpyc
I then adjusted the Python path by editing my system variables (to include
\Rpyc and
the 2 subfolders that looked important). I could then type "import Rpyc" at the
PyScripter interpreter and have it work. From there I selected the option:
Run->Python Engine->Remote.
In the same menu, there is a "Reinitialize Python Engine" option, and you have
to do
this in between runs to get it to update (I think there is an option to do this
automatically, but I haven't found it yet). Otherwise, it now works great.
Hope this helps,
-Eric
Original comment by eric.cas...@gmail.com
on 18 Nov 2008 at 7:23
This has been discussed extensively here before. To quote from such
earlier discussions:
If you change your main script the changes will be reflected. If you
change any other module which is used by the main script, the only way
currently in PyScripter to make sure the changes take effect is to use
a remote engine and reinitialize it. You can automatically
reinitialize the remote engine by setting up a run configuration in
the Project Explorer.
By the way I have put the Rpyc version 2.6 for Python 2.4-2.6 in the pyscripter
Google code site at http://code.google.com/p/pyscripter/downloads/list.
I will move to Rpyc version 3.0 in the near future.
You can try to manually reload/import again the changed modules using
the Python reload builtin function but reloading has its own problems.
Original comment by pyscripter
on 6 Dec 2008 at 3:29
Issue 290 has been merged into this issue.
Original comment by pyscripter
on 4 Mar 2009 at 12:20
Okay, allow me a bit of a rant, but only because I really do love PyScripter:
This is a rather serious flaw for an "As Designed" status, particularly since
the old
PyScripter 1.7.2 does not have this problem. Does "As designed" imply that most
users
will never run into this bug because they only work on one module per session?
A bit
unrealistic, I dare say.
It's disappointing that the upgrade for this great product requires such a
non-obvious, technical, and cumbersome solution just to get it to work
correctly. A
lot of users will give up on the PyScripter upgrade (as I had done) because
they will
never find this thread with the work around. And they will give up after
spending a
few (very frustrating) hours trying to figure out why their module changes are
not
taking effect. They will not be recommending PyScripter to their friends and
colleagues.
If I have to install and configure a remote engine to fix this issue, why can't
PyScripter do this for me? Like Python itself, PyScripter should just "work"
right
out of the box. If it ceases to do this, it will lose one of its best
advantages over
other IDE's
</rant>
Original comment by davidossorio
on 4 Mar 2009 at 1:00
This issue existed in all versions of PyScripter. It is also an issue with
Python
itself. There is a reload function but it is not perfect since it cannot
affect
live Python objects. The only sure way to make sure all changes are taken into
account is to start with a new interpreter, which is only possible with the
external
engine.
The external engine uses rpyc a module develop and maintained by a separate
author
and has a separate update cicle than PyScripter. It is not such a big deal to
install it. Once you use the remote interpreter then you just reinitialize the
engine before running a script (a single command). This can also be automated
by
creating a run configuration.
I am sorry if the above is not good enough...
Original comment by pyscripter
on 4 Mar 2009 at 3:45
>>This issue existed in all versions of PyScripter.
I disagree. I've been using PyScripter 1.7.2.0 for the last year with multiple
modules and have never seen this problem. In fact, that was why it was so
immediately
noticeable the first time I tried 1.9.9.6, since I almost always work on
multiple
modules at the same time.
I did the exact test that failed in 1.9.9.6 in 1.7.2.0, and it worked fine in
1.7.2.0, so perhaps we're not talking about the same issue here (?)
Try the following in 1.7.2.0:
With two modules, Test1.py, Test2.py: import Test2 from Test1, add a variable to
Test2.py, print it in Test1.py, then change the value in Test2.py and print it
again
in the Test1.py debugger.
This DOES work correctly in 1.7.2.0, and it always has. It does not work
correctly in
1.9.9.6.
My larger point, however, is that any IDE that only allows you to work on one
module
per session by default has a seriously flawed design. If Visual Studio allowed
me to
work on only C# module per session by default, I would think it was seriously
flawed
also.
I agree that it's not such a big deal to install rpyc, IF you know that's what
you
need to do to fix this problem. Most PyScripter users are not going to know
this,
however.
It would be much better if the PyScripter installer at least offered an option
to do
this, along with an explanation of why it's necessary.
Original comment by davidossorio
on 4 Mar 2009 at 7:29
Original comment by pyscripter
on 12 May 2009 at 2:19
Issue 301 has been merged into this issue.
Original comment by pyscripter
on 21 May 2009 at 7:31
Exposing the (imperfect) reload function as a simple menu choice/button click
would be
a huge step forward. It would permit manual reload of individual scripts --
something
I fully expect to have to do after making edits, but can now only do by
restarting
PyScripter itself.
I love PyScripter. It is, by far, the best Python IDE I've yet found. This is
the
only significant hole I've found in its performance so far.
Original comment by JohnWPi...@gmail.com
on 22 Jul 2009 at 4:05
pyscripter is very good. If it can work with remote engine fine, I think we can
ignore this problem first and let developer has more enhancement.
Original comment by len...@gmail.com
on 31 Aug 2009 at 7:40
The install of rpyc is not currently a fix for this issue since Pyscripter can
not
find the module even if it's installed. From the command line I can not import
Rpyc
but can import rpyc. I also have the issue that changes in secondary modules
are not
propagated unless I completely quit Pyscripter and then restart it.
This applies to Pyscripter v 1.9.9.7
Python 2.6.2
rpyc 3.0.7
Original comment by mattc...@earthlink.net
on 24 Sep 2009 at 6:12
Issue 345 has been merged into this issue.
Original comment by pyscripter
on 2 Jan 2010 at 4:45
[deleted comment]
Same problem as everybody, but there's more. I'm stuck with Python 2.3 because
that's the last valid version to work with PythonForDelphi ; however it seems
that
Rpyc is incompatible with 2.3 (starts at 2.4 ?) I've tried a lot of things,
including reload, but is seems the only reliable way is to quit PyScripter and
run
again. I've completely reorganised my architecture, every module is changed and
needs to be debugged, so now I have some idea of what hell must look like. Help
!
Original comment by herve.va...@skynet.be
on 18 Feb 2010 at 8:54
I also like tool very much :-) but i have the same problem...
Rpyc helps, but with it i have to do following steps to update included module:
1. change included module
2. stop debugger
3. press Ctrl+F2 (to reinitialize remote python engine)
4. run debugger again
Can i avoid steps 2 and 3? This is a little bit annoying...
Original comment by kirill.kornyakov
on 24 Mar 2010 at 7:27
The latest version 2.0 bundles rpyc (no separate installation needed), uses the
remote engine by default and reinitializes the engine before each run also by
default. This should take care of this issue I hope.
Original comment by pyscripter
on 31 Jul 2010 at 12:17
Issue 231 has been merged into this issue.
Original comment by pyscripter
on 31 Jul 2010 at 11:23
Hi again pyscripter team.
What a nice surprise to see and test this to be fixed. I'm looking forward to
test drive 2.0.
Br Kim
Original comment by kimbendt...@gmail.com
on 1 Aug 2010 at 9:01
Issue 370 has been merged into this issue.
Original comment by pyscripter
on 9 Aug 2010 at 2:15
Original comment by pyscripter
on 30 Sep 2010 at 3:07
Issue 539 has been merged into this issue.
Original comment by pyscripter
on 15 Jul 2011 at 1:27
Original issue reported on code.google.com by
kimbendt...@gmail.com
on 18 Nov 2008 at 12:06