Difference between revisions of "Python/pip"

From HPC Wiki
Jump to navigation Jump to search
()
m
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:Basics]][[Category:HPC-User]]
 
== General ==
 
== General ==
 
Python is an Open Source, interpreted high-level programming language which is popular for prototyping high end simulations and data science applications. In addition to a large standard library there are many thirdparty libraries available (e.g. Numpy, Scipy). However, it is a single threaded environment and therefore may not be most suitable for very large simulations.  
 
Python is an Open Source, interpreted high-level programming language which is popular for prototyping high end simulations and data science applications. In addition to a large standard library there are many thirdparty libraries available (e.g. Numpy, Scipy). However, it is a single threaded environment and therefore may not be most suitable for very large simulations.  
Line 5: Line 6:
  
 
== Usage ==
 
== Usage ==
Python and its most commonly used libraries (NumPy, SciPy, Matplotlib) are usually available as a module. Please notice that an older version may be set as default. If the version you need is not available, you can install it in your directory by using 'pip' or 'easy_install'. You might also want to consider using a GCC compiler as Python software with it. This should be done before adding any Py-Modules.
+
Python and its most commonly used libraries (NumPy, SciPy, Matplotlib) are usually available as a module. Please notice that an older version may be set as default and there might be modules for different versions. If the version you need is not available, you can install it in your directory by using 'pip' or 'easy_install'.
  
 +
You can check the used Version with:
 +
<syntaxhighlight lang="bash">
 +
$ python3 --version
 +
</syntaxhighlight>
  
Examples (RWTH CLAIX):
+
and the corresponding install directory with
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ module switch intel gcc
+
$ which python3
$ export MYPY=$HOME/SomeDirForPythonInstall
 
$ export PYTHONPATH=$PYTHONPATH:$MYPY/lib/python2.7/site-packages
 
$ mkdir -p $MYPY/lib/python2.7/site-packages
 
$ easy_install --prefix $MYPY  theano
 
 
</syntaxhighlight>
 
</syntaxhighlight>
Note: you need to set PYTHONPATH anytime you wish to use 'teano' Py-module!
 
  
 +
and then use
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ module switch intel gcc
+
$ python3 my_program.py
$ pip install --user theano
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
to execute your code.
 +
 +
Often on a single system there are two environments available simultaneously: Python 2.x.x (callable with <code>python</code>) and Python 3.x.x (callable as shown above). If not otherwise necessary, it is advisable to use and program in 3.x.x
  
Note: the installation is in $HOME/.local/[bin|lib] directories. Beware of clash if using multiple Py-modules!
 
  
 
== Pip ==
 
== Pip ==
Pip is a package management system for Python and is automatically included since Python 2.7.9/3.4. It enables managing lists of packages and their versions
+
Pip is a package management system for Python and is automatically included since Python 2.7.9/3.4. It enables managing lists of packages and their versions. If you aim to install packages for Python3, use <code>pip3</code> instead of <code>pip</code> with the commands below.
 +
 
 +
Example:
 +
<syntaxhighlight lang="bash">
 +
$ pip install --user theano
 +
</syntaxhighlight>
  
 
Getting the list of the installed packages:
 
Getting the list of the installed packages:
Line 42: Line 49:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ pip install my-package [--user]
+
$ pip install [--user] my-package
 +
</syntaxhighlight>
 +
 
 +
The same goes for uninstalling packages:
 +
 
 +
<syntaxhighlight lang="bash">
 +
$ pip uninstall my-package
 
</syntaxhighlight>
 
</syntaxhighlight>
  
The same goes for uninstalling packages (use <code>--user</code> to uninstall the package locally):
+
Upgrade the packages specified to the latest version:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ pip uninstall my-package [--user]
+
$ pip install --upgrade package1 [package2 ...]
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 55: Line 68:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ pip install -r requirements.txt
 
$ pip install -r requirements.txt
 +
</syntaxhighlight>
 +
 +
Note: <code>pip3 [...]</code> can be used interchangeably with:
 +
 +
<syntaxhighlight lang="bash">
 +
$ python3 -m pip [...]
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Latest revision as of 15:52, 3 September 2019

General

Python is an Open Source, interpreted high-level programming language which is popular for prototyping high end simulations and data science applications. In addition to a large standard library there are many thirdparty libraries available (e.g. Numpy, Scipy). However, it is a single threaded environment and therefore may not be most suitable for very large simulations.

Usage

Python and its most commonly used libraries (NumPy, SciPy, Matplotlib) are usually available as a module. Please notice that an older version may be set as default and there might be modules for different versions. If the version you need is not available, you can install it in your directory by using 'pip' or 'easy_install'.

You can check the used Version with:

$ python3 --version

and the corresponding install directory with

$ which python3

and then use

$ python3 my_program.py

to execute your code.

Often on a single system there are two environments available simultaneously: Python 2.x.x (callable with python) and Python 3.x.x (callable as shown above). If not otherwise necessary, it is advisable to use and program in 3.x.x


Pip

Pip is a package management system for Python and is automatically included since Python 2.7.9/3.4. It enables managing lists of packages and their versions. If you aim to install packages for Python3, use pip3 instead of pip with the commands below.

Example:

$ pip install --user theano

Getting the list of the installed packages:

$ pip list

Pip can also list the packages with outdated versions or available prereleases:

$ pip list --outdated
$ pip list --pre

Packages can easily be installed through the pip install command (specify --user to install locally):

$ pip install [--user] my-package

The same goes for uninstalling packages:

$ pip uninstall my-package

Upgrade the packages specified to the latest version:

$ pip install --upgrade package1 [package2 ...]

The present packages can be stored as a 'requirements' file. If properly formatted, this file can then be used to recreate the given environment on another system with exactly the same packages and versions:

$ pip install -r requirements.txt

Note: pip3 [...] can be used interchangeably with:

$ python3 -m pip [...]

Tutorials

As there are plenty of python tutorials available online we decided not to create our very own but instead simply list a few we consider to be most helpful.

https://docs.python.org/3/tutorial/

https://www.w3schools.com/python/

https://www.tutorialspoint.com/python/

References

https://www.python.org/about/ https://pypi.org/project/pip/