Importing Python module from Bash
alias, bash, linux, python
Solution
An easy way to do this is with the "code" module:
python -c "import code; code.interact(local=locals())"
This will drop you into an interactive shell when code.interact() is called. The `local` keyword argument to `interact` is used to prepopulate the default namespace for the interpreter that gets created; we'll use `locals()`, which is a builtin function that returns the local namespace as a dictionary.
Your command would look something like this:
python -c "import mymodule, code; code.interact(local=locals())"
which drops you into an interpreter that has the correct environment.
Problem
I am launching a Python script from the command line (Bash) under Linux. I need to open Python, import a module, and then have lines of code interpreted. The console must then remain in Python (not quit it). How do I do that? I have tried an alias like this one: ``` alias program="cd /home/myname/programs/; python; import module; line_of_code" ``` But this only starts python and the commands are not executed (no module import, no line of code treated). What is the proper way of doing this, provided I need to keep Python open (not quit it) after the script is executed? Many thanks!