Python is an interpreted high-level programming language for general-purpose programming. It’s design philosophy emphasizes code readability using significant whitespace. Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library. Documentation for Python can be found on its official website. Currently, versions 2.7 and 3.0 of Python are available on the cluster.
python
.
Python files end in *.py, and can be run from the command line using
python filename.py
where filename is the name of the Python file.
module load python3/anaconda/2020.02
conda create -n python-environment python-essentials python-base
source activate python-environment
Once the virtual environment is created, it can be launched at any time by ensuring that the python3 module is
loaded, using the command
module load python3/anaconda/2020.02
source activate python-environment
pip install package-name
pip install SQLAlchemy
conda install package-name
conda install NumPy
source deactivate
import random
print("Hello World!")
a = 10
b = 3
print("a is %d" % a)
print("b is %d" % b)
print("a*b is %d" % (a*b))
print("Random list: ")
rand_list = []
for x in range(10):
rand_list.append(random.randint(1,100))
print(rand_list)
print("List sorted: ")
print(sorted(rand_list))
3. Prepare the submission script, which is the script that is submitted to the Slurm scheduler as a job in order
to run the Python script. The linked repository provides the script job.sh as an example.
#!/bin/sh
#SBATCH --job-name=py_test
#SBATCH -o py_out%j.out
#SBATCH -e py_err%j.err
#SBATCH -N 1
#SBATCH --ntasks-per-node=1
echo -e '\nsubmitted Python job'
echo 'hostname'
hostname
# creates a python virtual environment
module load python3/anaconda/2020.02
source activate python-environment
# run python script
python3 test.py
# exit the virtual environment
conda deactivate
4. Submit the job using: sbatch job.sh
5. Examine the results.