Teradata Package for Python Function Reference on VantageCloud Lake - install_lib - Teradata Package for Python - Look here for syntax, methods and examples for the functions included in the Teradata Package for Python.
Teradata® Package for Python Function Reference on VantageCloud Lake
- Deployment
- VantageCloud
- Edition
- Lake
- Product
- Teradata Package for Python
- Release Number
- 20.00.00.03
- Published
- December 2024
- ft:locale
- en-US
- ft:lastEdition
- 2024-12-19
- dita:id
- TeradataPython_FxRef_Lake_2000
- Product Category
- Teradata Vantage
- teradataml.scriptmgmt.UserEnv.UserEnv.install_lib = install_lib(self, libs=None, libs_file_path=None, **kwargs)
- DESCRIPTION:
Function installs Python or R libraries in the remote user environment.
Note:
* Use "install_lib" API call for first time package installation within
the environment. Use "update_lib" API only to upgrade or downgrade installed
packages and do not use it for fresh package installation when multiple
packages have the same dependency as it messes pip's package resolution ability.
PARAMETERS:
libs:
Optional Argument.
Specifies the add-on library name(s).
Notes:
* Either "libs" or "libs_file_path" argument must be specified.
* Version specified during the installation of R libraries
is not taken into consideration. The versions specified
in the parameters are only considered when update_lib()
is used.
Types: str OR list of Strings(str)
libs_file_path:
Optional Argument.
Specifies the absolute/relative path of the file (including file name)
which supplies a list of libraries to be installed in remote user environment.
Path specified should include the filename with extension.
The file should contain library names and version number(optional) of libraries.
Notes:
* Either "libs" or "libs_file_path" argument must be specified.
* The file must have ".txt" extension for Python environment
and ".txt"/".json" extension for R environment.
* The file format should adhere to the specifications of the
requirements file used by underlying language's package
manager to install libraries.
Sample text file content for Python environment:
numpy
joblib==0.13.2
Sample json/txt file content for R environment:
{
"cran_packages": [{
"name": "anytime",
"version": ""
}, {
"name": "glm2",
"version": ""
}]
}
* Version specified during the installation of R libraries
is not taken into consideration. The versions specified in
the parameters are only considered when update_lib() is used.
Types: str
**kwargs:
asynchronous:
Optional Argument.
Specifies whether to install the library in remote user environment
synchronously or asynchronously. When set to True, libraries are installed
asynchronously. Otherwise, libraries are installed synchronously.
Note:
One should not use remove_env() on the same environment till the
asynchronous call is complete.
Default Value: False
Types: bool
timeout:
Optional Argument.
Specifies the time to wait in seconds for installing the libraries. If the library is
not installed with in "timeout" seconds, the function returns a claim-id and one
can check the status using the claim-id. If "timeout" is not specified, then there
is no limit on the wait time.
Note:
Argument is ignored when "asynchronous" is True.
Types: int OR float
RETURNS:
Pandas DataFrame when libraries are installed synchronously.
claim_id, to track status when libraries are installed asynchronously.
RAISES:
TeradataMlException
EXAMPLES:
# Create remote user Python environment.
>>> env = create_env('testenv', 'python_3.7.9', 'Test environment')
User environment testenv created.
# Example 1: Install single Python library asynchronously.
>>> env.install_lib('numpy', asynchronous=True)
Request to install libraries initiated successfully in the remote user environment testenv.
Check the status using status() with the claim id '4b062b0e-6e9f-4996-b92b-5b20ac23b0f9'.
# Check the status.
>>> env.status('4b062b0e-6e9f-4996-b92b-5b20ac23b0f9')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 4b062b0e-6e9f-4996-b92b-5b20ac23b0f9 numpy install_lib Started 2022-07-13T11:07:34Z None
1 4b062b0e-6e9f-4996-b92b-5b20ac23b0f9 numpy install_lib Finished 2022-07-13T11:07:35Z None
>>>
# Verify if libraries are installed.
>>> env.libs
library version
0 numpy 1.21.6
1 pip 20.1.1
2 setuptools 47.1.0
# Example 2: Install libraries asynchronously by passing them as list of library names.
>>> env.install_lib(["pandas",
... "joblib==0.13.2",
... "scikit-learn",
... "numpy>=1.17.1",
... "nltk>=3.3,<3.5"], asynchronous=True)
Request to install libraries initiated successfully in the remote user environment testenv.
Check the status using status() with the claim id '90aae7df-5efe-4b5a-af26-150aab35f1fb'.
# Check the status.
>>> env.status('90aae7df-5efe-4b5a-af26-150aab35f1fb')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 90aae7df-5efe-4b5a-af26-150aab35f1fb pandas, joblib==0.13.2, scikit-learn, numpy>=1.17.1, nltk>=3.3,<3.5 install_lib Started 2022-07-13T11:09:39Z None
1 90aae7df-5efe-4b5a-af26-150aab35f1fb pandas, joblib==0.13.2, scikit-learn, numpy>=1.17.1, nltk>=3.3,<3.5 install_lib Finished 2022-07-13T11:09:40Z None
# Verify if libraries are installed with specific version.
>>> env.libs
library version
0 joblib 0.13.2
1 nltk 3.4.5
2 numpy 1.21.6
3 pandas 1.3.5
4 pip 20.1.1
5 python-dateutil 2.8.2
6 pytz 2022.1
7 scikit-learn 1.0.2
8 scipy 1.7.3
9 setuptools 47.1.0
10 six 1.16.0
11 threadpoolctl 3.1.0
# Example 3: Install libraries synchronously by passing them as list of library names.
>>> env.install_lib(["Flask", "gunicorn"])
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 ebc11a82-4606-4ce3-9c90-9f54d1260f47 Flask, gunicorn install_lib Started 2022-08-12T05:35:58Z
1 ebc11a82-4606-4ce3-9c90-9f54d1260f47 Flask, gunicorn install_lib Finished 2022-08-12T05:36:13Z
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
name version
0 click 8.1.3
1 Flask 2.2.2
2 gunicorn 20.1.0
3 importlib-metadata 4.12.0
4 itsdangerous 2.1.2
5 Jinja2 3.1.2
6 joblib 0.13.2
7 MarkupSafe 2.1.1
8 nltk 3.4.5
9 numpy 1.21.6
10 pandas 1.3.5
11 pip 20.1.1
12 python-dateutil 2.8.2
13 pytz 2022.2
14 scikit-learn 1.0.2
15 scipy 1.7.3
16 setuptools 64.0.1
17 six 1.16.0
18 threadpoolctl 3.1.0
19 typing-extensions 4.3.0
20 Werkzeug 2.2.2
21 zipp 3.8.1
>>>
# Example 4: Install libraries synchronously by passing them as list of library names within a
# specific timeout of 5 seconds.
>>> env.install_lib(["teradataml", "teradatasqlalchemy"], timeout=5)
Request to install libraries initiated successfully in the remote user environment 'testenv' but unable to get the status. Check the status using status() with the claim id '30185e0e-bb09-485a-8312-c267fb4b3c1b'.
'30185e0e-bb09-485a-8312-c267fb4b3c1b'
# Check the status.
>>> env.status('30185e0e-bb09-485a-8312-c267fb4b3c1b')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 30185e0e-bb09-485a-8312-c267fb4b3c1b teradataml, teradatasqlalchemy install_lib Started 2022-08-12T05:42:58Z
1 30185e0e-bb09-485a-8312-c267fb4b3c1b teradataml, teradatasqlalchemy install_lib Finished 2022-08-12T05:43:29Z
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
name version
0 certifi 2022.6.15
1 charset-normalizer 2.1.0
2 click 8.1.3
3 docker 5.0.3
4 Flask 2.2.2
5 greenlet 1.1.2
6 gunicorn 20.1.0
7 idna 3.3
8 importlib-metadata 4.12.0
9 itsdangerous 2.1.2
10 Jinja2 3.1.2
11 joblib 0.13.2
12 MarkupSafe 2.1.1
13 nltk 3.4.5
14 numpy 1.21.6
15 pandas 1.3.5
16 pip 20.1.1
17 psutil 5.9.1
18 pycryptodome 3.15.0
19 python-dateutil 2.8.2
20 pytz 2022.2
21 requests 2.28.1
22 scikit-learn 1.0.2
23 scipy 1.7.3
24 setuptools 64.0.1
25 six 1.16.0
26 SQLAlchemy 1.4.40
27 teradataml 17.10.0.1
28 teradatasql 17.20.0.1
29 teradatasqlalchemy 17.0.0.3
30 threadpoolctl 3.1.0
31 typing-extensions 4.3.0
32 urllib3 1.26.11
33 websocket-client 1.3.3
34 Werkzeug 2.2.2
35 zipp 3.8.1
>>>
# Example 5: Install libraries asynchronously by creating requirement.txt file.
# Create a requirement.txt file with below contents.
-----------------------------------------------------------
pandas
joblib==0.13.2
scikit-learn
numpy>=1.17.1
nltk>=3.3,<3.5
-----------------------------------------------------------
# Install libraries specified in the file.
>>> env.install_lib(libs_file_path="requirement.txt", asynchronous=True)
Request to install libraries initiated successfully in the remote user environment testenv.
Check the status using status() with the claim id 'f11c7f28-f958-4cae-80a8-926733954bdc'.
# Check the status.
>>> env.status('8709b464-f144-4c37-8918-ef6a98ecf295')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 f11c7f28-f958-4cae-80a8-926733954bdc requirements.txt install_lib Started 2022-07-13T11:23:23Z None
1 f11c7f28-f958-4cae-80a8-926733954bdc requirements.txt install_lib Finished 2022-07-13T11:25:37Z None
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
library version
0 joblib 0.13.2
1 nltk 3.4.5
2 numpy 1.21.6
3 pandas 1.3.5
4 pip 20.1.1
5 python-dateutil 2.8.2
6 pytz 2022.1
7 scikit-learn 1.0.2
8 scipy 1.7.3
9 setuptools 47.1.0
10 six 1.16.0
11 threadpoolctl 3.1.0
# Example 6: Install libraries synchronously by creating requirement.txt file.
# Create a requirement.txt file with below contents.
-----------------------------------------------------------
matplotlib
-----------------------------------------------------------
# Install libraries specified in the file.
>>> env.install_lib(libs_file_path="requirements.txt")
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 6221681b-f663-435c-80a9-3f99d2af5d83 requirements.txt install_lib Started 2022-08-12T05:49:09Z
1 6221681b-f663-435c-80a9-3f99d2af5d83 requirements.txt install_lib Finished 2022-08-12T05:49:41Z
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
name version
0 certifi 2022.6.15
1 charset-normalizer 2.1.0
2 click 8.1.3
3 cycler 0.11.0
4 docker 5.0.3
5 Flask 2.2.2
6 fonttools 4.34.4
7 greenlet 1.1.2
8 gunicorn 20.1.0
9 idna 3.3
10 importlib-metadata 4.12.0
11 itsdangerous 2.1.2
12 Jinja2 3.1.2
13 joblib 0.13.2
14 kiwisolver 1.4.4
15 MarkupSafe 2.1.1
16 matplotlib 3.5.3
17 nltk 3.4.5
18 numpy 1.21.6
19 packaging 21.3
20 pandas 1.3.5
21 Pillow 9.2.0
22 pip 20.1.1
23 psutil 5.9.1
24 pycryptodome 3.15.0
25 pyparsing 3.0.9
26 python-dateutil 2.8.2
27 pytz 2022.2
28 requests 2.28.1
29 scikit-learn 1.0.2
30 scipy 1.7.3
31 setuptools 64.0.1
32 six 1.16.0
33 SQLAlchemy 1.4.40
34 teradataml 17.10.0.1
35 teradatasql 17.20.0.1
36 teradatasqlalchemy 17.0.0.3
37 threadpoolctl 3.1.0
38 typing-extensions 4.3.0
39 urllib3 1.26.11
40 websocket-client 1.3.3
41 Werkzeug 2.2.2
42 zipp 3.8.1
>>>
# Create remote user R environment.
>>> env = create_env('testenv', 'r_4.1', 'Test environment')
User environment 'testenv' created.
# Example 1: Install single R library asynchronously.
>>> env.install_lib('glm2', asynchronous=True)
Request to install libraries initiated successfully in the remote user environment testenv.
Check the status using status() with the claim id 'd073a1c8-08bc-45d0-99de-65dc189db408'.
# Check the status.
>>> env.status('d073a1c8-08bc-45d0-99de-65dc189db408')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 d073a1c8-08bc-45d0-99de-65dc189db408 glm2 install_lib Started 2023-08-29T09:09:30Z
1 d073a1c8-08bc-45d0-99de-65dc189db408 glm2 install_lib Finished 2023-08-29T09:09:35Z
>>>
# Verify if libraries are installed.
>>> env.libs
name version
0 KernSmooth 2.23-20
1 MASS 7.3-55
2 Matrix 1.4-0
3 base 4.1.3
4 boot 1.3-28
5 class 7.3-20
6 cluster 2.1.2
7 codetools 0.2-18
8 compiler 4.1.3
9 datasets 4.1.3
10 foreign 0.8-82
11 grDevices 4.1.3
12 graphics 4.1.3
13 grid 4.1.3
14 lattice 0.20-45
15 methods 4.1.3
16 mgcv 1.8-39
17 nlme 3.1-155
18 nnet 7.3-17
19 parallel 4.1.3
20 remotes 2.4.2
21 rpart 4.1.16
22 spatial 7.3-15
23 splines 4.1.3
24 stats 4.1.3
25 stats4 4.1.3
26 survival 3.2-13
27 tcltk 4.1.3
28 tools 4.1.3
29 utils 4.1.3
30 glm2 1.2.1
>>>
# Example 2: Install libraries asynchronously by passing them as list of library names.
>>> env.install_lib(['glm2', 'stringi'], asynchronous=True)
Request to install libraries initiated successfully in the remote user environment testenv.
Check the status using status() with the claim id '6b2ca7ac-f113-440c-bf24-1ce75ed59f36'.
# Check the status.
>>> env.status('90aae7df-5efe-4b5a-af26-150aab35f1fb')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 6b2ca7ac-f113-440c-bf24-1ce75ed59f36 glm2==1.2.1, stringi install_lib Started 2023-08-29T09:42:39Z
1 6b2ca7ac-f113-440c-bf24-1ce75ed59f36 glm2==1.2.1, stringi install_lib Finished 2023-08-29T09:43:58Z
>>>
# Verify if libraries are installed or not.
>>> env.libs
name version
0 KernSmooth 2.23-20
1 MASS 7.3-55
2 Matrix 1.4-0
3 base 4.1.3
4 boot 1.3-28
5 class 7.3-20
6 cluster 2.1.2
7 codetools 0.2-18
8 compiler 4.1.3
9 datasets 4.1.3
10 foreign 0.8-82
11 grDevices 4.1.3
12 graphics 4.1.3
13 grid 4.1.3
14 lattice 0.20-45
15 methods 4.1.3
16 mgcv 1.8-39
17 nlme 3.1-155
18 nnet 7.3-17
19 parallel 4.1.3
20 remotes 2.4.2
21 rpart 4.1.16
22 spatial 7.3-15
23 splines 4.1.3
24 stats 4.1.3
25 stats4 4.1.3
26 survival 3.2-13
27 tcltk 4.1.3
28 tools 4.1.3
29 utils 4.1.3
30 glm2 1.2.1
31 stringi 1.7.12
>>>
# Example 3: Install libraries synchronously by passing them as list of library names.
>>> env.install_lib(["lubridate", "zoo"])
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 7483fa01-dedb-4fb2-9262-403da6b49a3b lubridate, zoo install_lib Started 2023-08-29T09:51:25Z
1 7483fa01-dedb-4fb2-9262-403da6b49a3b lubridate, zoo install_lib Finished 2023-08-29T09:52:20Z
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
name version
0 KernSmooth 2.23-20
1 MASS 7.3-55
2 Matrix 1.4-0
3 base 4.1.3
4 boot 1.3-28
5 class 7.3-20
6 cluster 2.1.2
7 codetools 0.2-18
8 compiler 4.1.3
9 datasets 4.1.3
10 foreign 0.8-82
11 grDevices 4.1.3
12 graphics 4.1.3
13 grid 4.1.3
14 lattice 0.20-45
15 methods 4.1.3
16 mgcv 1.8-39
17 nlme 3.1-155
18 nnet 7.3-17
19 parallel 4.1.3
20 remotes 2.4.2
21 rpart 4.1.16
22 spatial 7.3-15
23 splines 4.1.3
24 stats 4.1.3
25 stats4 4.1.3
26 survival 3.2-13
27 tcltk 4.1.3
28 tools 4.1.3
29 utils 4.1.3
30 cpp11 0.4.6
31 generics 0.1.3
32 glm2 1.2.1
33 lubridate 1.9.2
34 stringi 1.7.12
35 timechange 0.2.0
36 zoo 1.8-12
>>>
# Example 4: Install libraries synchronously by passing them as list of library names within a
# specific timeout of 1 seconds.
>>> env.install_lib(["stringi", "glm2"], timeout=1)
Request to install libraries initiated successfully in the remote user environment 'testenv' but Timed out
status check. Check the status using status() with the claim id '7303cf6d-acea-4ab0-83b8-e6cf9149fe51'.
# Check the status.
>>> env.status('7303cf6d-acea-4ab0-83b8-e6cf9149fe51')
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 7303cf6d-acea-4ab0-83b8-e6cf9149fe51 stringi, glm2 install_lib Started 2023-08-29T10:18:48Z
1 7303cf6d-acea-4ab0-83b8-e6cf9149fe51 stringi, glm2 install_lib Finished 2023-08-29T10:20:08Z
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
name version
0 KernSmooth 2.23-20
1 MASS 7.3-55
2 Matrix 1.4-0
3 base 4.1.3
4 boot 1.3-28
5 class 7.3-20
6 cluster 2.1.2
7 codetools 0.2-18
8 compiler 4.1.3
9 datasets 4.1.3
10 foreign 0.8-82
11 grDevices 4.1.3
12 graphics 4.1.3
13 grid 4.1.3
14 lattice 0.20-45
15 methods 4.1.3
16 mgcv 1.8-39
17 nlme 3.1-155
18 nnet 7.3-17
19 parallel 4.1.3
20 remotes 2.4.2
21 rpart 4.1.16
22 spatial 7.3-15
23 splines 4.1.3
24 stats 4.1.3
25 stats4 4.1.3
26 survival 3.2-13
27 tcltk 4.1.3
28 tools 4.1.3
29 utils 4.1.3
30 cpp11 0.4.6
31 generics 0.1.3
32 glm2 1.2.1
33 lubridate 1.9.2
34 stringi 1.7.12
35 timechange 0.2.0
36 zoo 1.8-12
>>>
# Example 5: Install libraries synchronously by creating requirement.txt file.
# Create a requirement.txt file with below contents.
-----------------------------------------------------------
{
"cran_packages": [{
"name": "anytime",
"version": ""
}, {
"name": "glm2",
"version": ""
}]
}
-----------------------------------------------------------
# Install libraries specified in the file.
>>> env.install_lib(libs_file_path="requirement.txt")
Claim Id File/Libs Method Name Stage Timestamp Additional Details
0 eab69326-5e14-4c81-8157-408fe0b633c2 requirement.txt install_lib Started 2023-08-29T12:18:26Z
1 eab69326-5e14-4c81-8157-408fe0b633c2 requirement.txt install_lib Finished 2023-08-29T12:23:12Z
>>>
# Verify if libraries are installed with specific version.
>>> env.libs
name version
0 KernSmooth 2.23-20
1 MASS 7.3-55
2 Matrix 1.4-0
3 base 4.1.3
4 boot 1.3-28
5 class 7.3-20
6 cluster 2.1.2
7 codetools 0.2-18
8 compiler 4.1.3
9 datasets 4.1.3
10 foreign 0.8-82
11 grDevices 4.1.3
12 graphics 4.1.3
13 grid 4.1.3
14 lattice 0.20-45
15 methods 4.1.3
16 mgcv 1.8-39
17 nlme 3.1-155
18 nnet 7.3-17
19 parallel 4.1.3
20 remotes 2.4.2
21 rpart 4.1.16
22 spatial 7.3-15
23 splines 4.1.3
24 stats 4.1.3
25 stats4 4.1.3
26 survival 3.2-13
27 tcltk 4.1.3
28 tools 4.1.3
29 utils 4.1.3
30 BH 1.81.0-1
31 Rcpp 1.0.11
32 anytime 0.3.9
33 cpp11 0.4.6
34 generics 0.1.3
35 glm2 1.2.1
36 lubridate 1.9.2
37 stringi 1.7.12
38 timechange 0.2.0
39 zoo 1.8-12
>>>