Khi làm việc hay triển khai hệ thống Linux việc cài đặt môi trường cho ứng dụng hết sức quan trọng. Nếu từ đầu chúng ta quên cài, hoặc khi nâng cấp hệ thống cần cài đặt thêm trong khi server lại không được kết nối internet dẫn đến việc cài đặt không đơn giản như ban đầu. Bài viết này sẽ hướng dẫn các bạn cài đặt python pip và các python library không cần kết nối internet.
Vì server cần cài không thể kết nối internet nên trong bài viết này sau khi download các packages cần thiết ở máy có internet sau đó copy qua server cần cài để thực thi câu lệnh cài đặt.
Xem thêm: Sao chép file giữa các máy linux bằng câu lệnh SCP
Cài đặt Python pip
Download pip
Bạn có thể download tất cả các phiên bản của pip ở đây: https://pypi.org/simple/pip/
Ở đây mình sẽ download pip 8.1.2
wget https://files.pythonhosted.org/packages/9c/32/004ce0852e0a127f07f358b715015763273799bd798956fa930814b60f39/pip-8.1.2-py2.py3-none-any.whl
Cài đặt pip
Sau khi tải các bạn cài đặt bằng lệnh sau:
python pip-8.1.2-py2.py3-none-any.whl/pip install --no-index pip-8.1.2-py2.py3-none-any.whl
Kiểm tra
Kiểm tra phiên bản pip đã cài bằng lệnh sau:
[root@localhost ~]# pip -V pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
Cài đặt python library
Cách đơn giản nhất để cài các python library là sử dụng câu lệnh pip. Trong môi trường có internet, khi cần cài một thư viện nào đó chúng ta chỉ cần thực thi câu lệnh:
pip install <library-name>
Ví dụ: pip install pysftp
Để cài đặt offline các packages bằng pip chúng ta sẽ tiến hành download các file .whl của packages đó. Tuy nhiên, bạn sẽ gặp trường hợp một thư viện bao gồm các file .whl và .tar.gz. Cách đơn giản để download đầy đủ tất cả các tập tin cần thiết cho một thư viện nào đó các bạn sử dụng lệnh sau:
pip install --download="<đường dẫn lưu tập tin>" <tên thư viện>
Để hướng dẫn các bạn cài đặt cho 2 trường hợp trên mình sẽ lấy ví dụ cách tải và cài đặt 2 thư viện setuptools và pysftp như sau:
Cài đặt Setuptools
Download tập tin .whl
pip install --download="./" setuptools
Sau khi tải về ta có tập tin sau:
[root@itfromzero ~]# ls -l -rw-r--r-- 1 root root 573841 Jan 28 15:56 setuptools-40.7.0-py2.py3-none-any.whl
Cài đặt
pip install setuptools-40.7.0-py2.py3-none-any.whl
Cài đặt pysftp
Download các tập tin cần thiết:
pip install --download="./" pysftp
Sau khi tải về ta có tập tin sau:
[root@itfromzero ~]# ls -l -rw-r--r-- 1 root root 101571 Jan 28 16:02 asn1crypto-0.24.0-py2.py3-none-any.whl -rw-r--r-- 1 root root 59060 Jan 28 16:02 bcrypt-3.1.6-cp27-cp27mu-manylinux1_x86_64.whl -rw-r--r-- 1 root root 407338 Jan 28 16:02 cffi-1.11.5-cp27-cp27mu-manylinux1_x86_64.whl -rw-r--r-- 1 root root 2362759 Jan 28 16:02 cryptography-2.5-cp27-cp27mu-manylinux1_x86_64.whl -rw-r--r-- 1 root root 12427 Jan 28 16:02 enum34-1.1.6-py2-none-any.whl -rw-r--r-- 1 root root 18155 Jan 28 16:02 ipaddress-1.0.22-py2.py3-none-any.whl -rw-r--r-- 1 root root 193525 Jan 28 16:02 paramiko-2.4.2-py2.py3-none-any.whl -rw-r--r-- 1 root root 73683 Jan 28 16:02 pyasn1-0.4.5-py2.py3-none-any.whl -rw-r--r-- 1 root root 158295 Jan 28 16:02 pycparser-2.19.tar.gz -rw-r--r-- 1 root root 762385 Jan 28 16:02 PyNaCl-1.3.0-cp27-cp27mu-manylinux1_x86_64.whl -rw-r--r-- 1 root root 25949 Jan 28 16:02 pysftp-0.2.9.tar.gz -rw-r--r-- 1 root root 10586 Jan 28 16:02 six-1.12.0-py2.py3-none-any.whl
Cài đặt:
pip install --no-index --find-links=. pysftp
Trên đây là bài viết hướng dẫn cài đặt python pip và python library offline. Chúc các bạn thành công.