F
Fuzzyman
Well sort of.......
More a request for comments really - to see if anyone is interested in
this.
http://www.voidspace.org.uk/atlantibots/pythonutils.html#testenv
I've created a script that will build a 'test environment'. Windoze(tm)
only as it uses py2exe.
It scans your Python\Lib folder and builds a script that *fakes* an
import of every file. This *more* or less amounts to everything in the
standard lib. There is then another script that turns this into a
python executable.
The result is an executable that will run any python script. It gives
sensible values to sys.path, sys.argv and __file__.
This is useful for two purposes :
1) Easily have test environments for multiple versions of python - to
test your scripts.
2) Run any python script on a machine without python installed.
Usage :
testenv <python file> arg1 arg2...
Which should be the equivalent of :
python <python file> arg1 arg2...
Sample output :
(Built with Python 2.4 - then 2.3 - prints sys.version first)
########
D:\New Folder\testenv>testenv test.py arg1 arg2 arg3
2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)]
sys.path = ['D:\\New Folder\\testenv\\library.zip', 'D:\\New
Folder\\testenv', '
D:\\New Folder\\testenv']
sys.argv = ['D:\\New Folder\\testenv\\test.py', 'arg1', 'arg2', 'arg3']
import Tkinter # succeeded
import dummylibrary # succeeded
D:\New Folder\testenv>
##########
D:\Python Projects\modules in progress\py2exe-testenv\dist>testenv
test.py arg1
arg2
2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)]
sys.path = ['D:\\Python Projects\\modules in
progress\\py2exe-testenv\\dist\\lib
\\shared.zip', 'D:\\Python Projects\\modules in
progress\\py2exe-testenv\\dist',
'D:\\Python Projects\\modules in progress\\py2exe-testenv\\dist']
sys.argv = ['D:\\Python Projects\\modules in
progress\\py2exe-testenv\\dist\\tes
t.py', 'arg1', 'arg2']
import Tkinter # succeeded
import dummylibrary # succeeded
D:\Python Projects\modules in progress\py2exe-testenv\dist>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I'm sure this can be improved in lots of ways - only about an hours
hacking or so - but already useful to me. Comments and suggestions for
improvements welcomed.
Regards,
Fuzzy
More a request for comments really - to see if anyone is interested in
this.
http://www.voidspace.org.uk/atlantibots/pythonutils.html#testenv
I've created a script that will build a 'test environment'. Windoze(tm)
only as it uses py2exe.
It scans your Python\Lib folder and builds a script that *fakes* an
import of every file. This *more* or less amounts to everything in the
standard lib. There is then another script that turns this into a
python executable.
The result is an executable that will run any python script. It gives
sensible values to sys.path, sys.argv and __file__.
This is useful for two purposes :
1) Easily have test environments for multiple versions of python - to
test your scripts.
2) Run any python script on a machine without python installed.
Usage :
testenv <python file> arg1 arg2...
Which should be the equivalent of :
python <python file> arg1 arg2...
Sample output :
(Built with Python 2.4 - then 2.3 - prints sys.version first)
########
D:\New Folder\testenv>testenv test.py arg1 arg2 arg3
2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)]
sys.path = ['D:\\New Folder\\testenv\\library.zip', 'D:\\New
Folder\\testenv', '
D:\\New Folder\\testenv']
sys.argv = ['D:\\New Folder\\testenv\\test.py', 'arg1', 'arg2', 'arg3']
import Tkinter # succeeded
import dummylibrary # succeeded
D:\New Folder\testenv>
##########
D:\Python Projects\modules in progress\py2exe-testenv\dist>testenv
test.py arg1
arg2
2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)]
sys.path = ['D:\\Python Projects\\modules in
progress\\py2exe-testenv\\dist\\lib
\\shared.zip', 'D:\\Python Projects\\modules in
progress\\py2exe-testenv\\dist',
'D:\\Python Projects\\modules in progress\\py2exe-testenv\\dist']
sys.argv = ['D:\\Python Projects\\modules in
progress\\py2exe-testenv\\dist\\tes
t.py', 'arg1', 'arg2']
import Tkinter # succeeded
import dummylibrary # succeeded
D:\Python Projects\modules in progress\py2exe-testenv\dist>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I'm sure this can be improved in lots of ways - only about an hours
hacking or so - but already useful to me. Comments and suggestions for
improvements welcomed.
Regards,
Fuzzy