Linux Apps Tutorials - Herong's Tutorial Examples - v1.03, by Herong Yang
Introduction to Conda Environment
This section provides a quick introduction about the Conda environment, its file directories and command programs. Steps to verify its Python version, and install new packages.
After installing Miniconda, we should take a quick tour on the "base" environment it offers.
1. Conda "base" environment program files are located in ~/miniconda3. They look very much like a mini operating system.
drwxrwxr-x. 2 herong herong 4096 bin drwxrwxr-x. 2 herong herong 30 compiler_compat drwxrwxr-x. 2 herong herong 19 condabin drwxrwxr-x. 2 herong herong 4096 conda-meta drwxrwxr-x. 2 herong herong 6 envs drwxrwxr-x. 4 herong herong 35 etc drwxrwxr-x. 9 herong herong 4096 include drwxrwxr-x. 15 herong herong 4096 lib -rw-r--r--. 1 herong herong 11245 May 19 15:29 LICENSE.txt drwxrwxr-x. 61 herong herong 8192 pkgs drwxrwxr-x. 10 herong herong 116 share drwxrwxr-x. 3 herong herong 22 shell drwxrwxr-x. 3 herong herong 146 ssl drwxrwxr-x. 3 herong herong 21 x86_64-conda_cos6-linux-gnu
2. Commands (some of them override system commands) provided by Conda are located in ~/miniconda3/bin.
lrwxrwxrwx. 1 herong herong 8 2to3 -> 2to3-3.8 -rwxrwxr-x. 1 herong herong 114 2to3-3.8 -rwxrwxr-x. 1 herong herong 197 activate lrwxrwxrwx. 1 herong herong 3 captoinfo -> tic -rwxrwxr-x. 1 herong herong 243 chardetect -rwxrwxr-x. 2 herong herong 14288 clear -rwxrwxr-x. 1 herong herong 524 conda -rwxrwxr-x. 1 herong herong 161 conda-env -rwxrwxr-x. 1 herong herong 247 cph -rwxrwxr-x. 1 herong herong 6214 c_rehash ... -rwxrwxr-x. 2 herong herong 21216 lzmadec -rwxrwxr-x. 1 herong herong 21128 lzmainfo lrwxrwxrwx. 1 herong herong 6 lzmore -> xzmore -rwxrwxr-x. 1 herong herong 8076 ncursesw6-config -rwxrwxr-x. 2 herong herong 836336 openssl -rwxrwxr-x. 1 herong herong 243 pip lrwxrwxrwx. 1 herong herong 8 pydoc -> pydoc3.8 lrwxrwxrwx. 1 herong herong 8 pydoc3 -> pydoc3.8 -rwxrwxr-x. 1 herong herong 97 pydoc3.8 lrwxrwxrwx. 1 herong herong 9 python -> python3.8 lrwxrwxrwx. 1 herong herong 9 python3 -> python3.8 -rwxrwxr-x. 2 herong herong 14707712 python3.8 -rwxrwxr-x. 1 herong herong 3498 python3.8-config lrwxrwxrwx. 1 herong herong 16 python3-config -> python3.8-config lrwxrwxrwx. 1 herong herong 4 reset -> tset -rwxrwxr-x. 2 herong herong 1508240 sqlite3 -rwxrwxr-x. 2 herong herong 29841 sqlite3_analyzer -rwxrwxr-x. 2 herong herong 14280 tabs lrwxrwxrwx. 1 herong herong 8 tclsh -> tclsh8.6 ...
3. Python version in Conda environment could be different:
herong$ python3 --version Python 3.6.8 herong$ conda activate (base) herong$ python3 --version Python 3.8.3
4. Python libraries, like NumPy, need to be installed in Conda environment. This is done by the "conda install ..." command, instead of the "pip install ...". A Python library is a Conda package, from Conda's point of view.
(base) herong$ python Python 3.8.3 (default, May 19 2020, 18:47:26) [GCC 7.3.0] :: Anaconda, Inc. on linux >>> import numpy ModuleNotFoundError: No module named 'numpy' >>> exit() (base) herong$ conda install numpy ## Package Plan ## environment location: /home/herong/miniconda3 added / updated specs: - numpy The following NEW packages will be INSTALLED: blas pkgs/main/linux-64::blas-1.0-mkl intel-openmp pkgs/main/linux-64::intel-openmp-2020.1-217 mkl pkgs/main/linux-64::mkl-2020.1-217 mkl-service pkgs/main/linux-64::mkl-service-2.3.0-py38he904b0f_0 mkl_fft pkgs/main/linux-64::mkl_fft-1.1.0-py38h23d657b_0 mkl_random pkgs/main/linux-64::mkl_random-1.1.1-py38h0573a6f_0 numpy pkgs/main/linux-64::numpy-1.19.1-py38hbc911f0_0 numpy-base pkgs/main/linux-64::numpy-base-1.19.1-py38hfa32c7d_0 The following packages will be UPDATED: ca-certificates 2020.1.1-0 --> 2020.6.24-0 certifi 2020.4.5.1-py38_0 --> 2020.6.20-py38_0 conda 4.8.3-py38_0 --> 4.8.4-py38_0 Proceed ([y]/n)? y Downloading and Extracting Packages ... (base) herong$ python Python 3.8.3 (default, May 19 2020, 18:47:26) [GCC 7.3.0] :: Anaconda, Inc. on linux >>> import numpy as np >>> np.v1.03 '1.19.1'
5. Create a new Conda environment called "graph" using "conda create" command:
# get out of the current Conda environment. (base) herong$ conda deactivate herong$ conda create -n graph Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/herong/miniconda3/envs/graph Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate graph # # To deactivate an active environment, use # # $ conda deactivate
6. List available Conda environments: using "conda create" command:
herong$ conda info -e # conda environments: # base * /home/herong/miniconda3 graph /home/herong/miniconda3/envs/graph
7. Upgrade Conda platform using "conda update" command:
herong$ conda update conda ## Package Plan ## environment location: /home/herong/miniconda3 added / updated specs: - conda The following packages will be downloaded: package | build ---------------------------|----------------- _openmp_mutex-4.5 | 1_gnu 22 KB brotlipy-0.7.0 |py38h27cfd23_1003 323 KB ca-certificates-2021.7.5 | h06a4308_1 113 KB ... The following packages will be DOWNGRADED: pysocks 1.7.1-py38_0 --> 1.7.1-py38h06a4308_0 Proceed ([y]/n)? y Downloading and Extracting Packages libgcc-ng-9.3.0 | 4.8 MB | #### | 41% mkl_fft-1.3.0 | 177 KB | ########## | 100% ... Preparing transaction: ...working... done Verifying transaction: ...working... done Executing transaction: ...working... done
8. Run Python scripts in a specific Conda environment in a single command.
herong$ conda run -n graph python hello.py Hello world!
Table of Contents
Running Apache HTTP Server (httpd) on Linux Systems
Running Apache Tomcat on Linux Systems
Running PHP Scripts on Linux Systems
Running MySQL Database Server on Linux Systems
Running Python Scripts on Linux Systems
►Conda - Environment and Package Manager
►Introduction to Conda Environment