arsenal88
arsenal88

Reputation: 1160

Create standalone isolated python

I'm to deploy Python into a production system and the python script I have has a number of modules associated with it.

Is there a way to install python with only a specific list of modules? Abit like with generating a jar, you can have a folder with all the other dependency jar's in a folder, which is nice and clean. I don't want to compile the python code so I want something similar.

(Note: I also don't want to create a virtual environment - I want the default environment like this)

Upvotes: 1

Views: 1085

Answers (3)

Alexandr S.
Alexandr S.

Reputation: 1774

To manage your python packages you can use great virtualenv tool, it looks really simple and works well on linux/macOS/Windows. Any package which will be installed in activated virtualenv will be available only in this virtualenv, so you can have for example 3 different versions of "Django" package on your machine and work with them using different virtual environments:

Install virtualenv:

$ pip3 install virtualenv 

Create your virtualenv:

$ virtualenv -p python3 my_virtualenv_name

Activate your virtualenv:

$ . my_virtualenv_name/bin/activate

Check what packages have been installed:

$ pip freeze

Install any package for example "Django":

$ pip install Django

Confirm installation:

$ pip freeze | grep Django

Uninstall any package from your virtual environment:

$ pip uninstall Django -y

Uninstall all packages from your virtual environment:

$ pip freeze | xargs pip uninstall -y

Deactivate virtualenv

$ deactivate

More info in the official documentation: https://virtualenv.pypa.io/en/latest/

Upvotes: 1

Thinh Pham
Thinh Pham

Reputation: 402

If you don't want to do like what Amir is suggesting above, then 2 other options are available:

  1. Copy those modules and place them in the same folder where your script is installed
  2. Create a requirements.txt file with the name & version of those modules and then run "pip install -r requirements.txt" to install these modules in your site-packages folder

Upvotes: 1

Amir
Amir

Reputation: 1905

You can either use virtualenv, which basically is what the name suggests, or you can use Docker, which personally I prefer

Upvotes: 1

Related Questions