Prev: Kick off a delete command from python and not wait
Next: convert time to UTC seconds since epoch
From: King on 20 Jul 2010 12:45 Hi, I have created a simple tool(python script) that creates a self sufficient package ready for deployment. Current implementation is based on shell scripting to set environment for the app and finally execute "python main.py". I am planning to convert "main.py" into an executable. The plan is to rip the unnecessary code from source code that produce python executable such as command line arguments etc, use "main.py" as python string (hardcoded inside executable source) and execute it using "exec" or similar methods and finally creates executable. Am I right here? Is this is the correct approach? For example a simple script: import os import math print math.sin(23.0) print os.getenv("PATH") Once I'll convert above script as i have mentioned above in an executable say: "myapp", executing "myapp" will print messages on console. Cheers Prashant
From: Stefan Behnel on 20 Jul 2010 13:25 King, 20.07.2010 18:45: > I have created a simple tool(python script) that creates a self > sufficient package ready for deployment. Current implementation is > based on shell scripting to set environment for the app and finally > execute "python main.py". > > I am planning to convert "main.py" into an executable. The plan is to > rip the unnecessary code from source code that produce python > executable such as command line arguments etc, use "main.py" as python > string (hardcoded inside executable source) and execute it using > "exec" or similar methods and finally creates executable. > > Am I right here? Is this is the correct approach? From what you write here, I'm not exactly sure what you want to achieve, but... > For example a simple script: > > import os > import math > print math.sin(23.0) > print os.getenv("PATH") > > Once I'll convert above script as i have mentioned above in an > executable say: "myapp", executing "myapp" will print messages on > console. Assuming that Python is installed on the machine and readily runnable from the PATH, this will make the script executable: #!/usr/bin/env python import os import math ... Note that the file must have the executable bit set. Search for "shebang", which is the spelled-out name for the "#!" special file prefix. Stefan
From: King on 20 Jul 2010 13:42 Hi Stefan, Well, the idea is similar to package tools like pyinstaller or cx_freeze. There approach is slightly different then what I intend to do here. You have to pass the name of the script to python executable("python main.py") in order to execute it. What I mean here is to create python executable using python executable source code only(not compilation of entire python using source code) and insert "main.py" contents in source code(hardcoded) and produce a new executable. When you run that executable, it should run the "main.py", which was hard coded while building using fixed string or any other method. The executable is actually a modified version of python executable. It won't take any argument because we'll rip that piece of code out. Hope this will clear out. Cheers prashant
|
Pages: 1 Prev: Kick off a delete command from python and not wait Next: convert time to UTC seconds since epoch |