问题描述
如何在运行VeLinux的实例上使用Python 3虚拟环境
问题分析
要为VeLinux创建隔离的Python 环境,需要执行以下操作: 1.安装Python 3。 2.在用户主目录下安装虚拟环境。 3.激活该环境,然后安装相关库。
解决方案
1、使用SSH连接到ECS Linux实例,并执行apt-get update刷新程序包索引,并运行apt list,查看是否安装python3。 已安装的输出如下:
root@i-2udbbtytcx3gv6bvmhzb:~# apt list | grep python3
....
python3.7-dbg/orion 3.7.3-2+deb10u3 amd64
python3.7-dev/orion,now 3.7.3-2+deb10u3 amd64 [installed,automatic]
python3.7-doc/orion 3.7.3-2+deb10u3 all
python3.7-examples/orion 3.7.3-2+deb10u3 all
python3.7-minimal/orion,now 3.7.3-2+deb10u3 amd64 [installed,automatic]
python3.7-venv/orion,oldstable,now 3.7.3-2+deb10u3 amd64 [installed,automatic]
python3.7/orion,oldstable,now 3.7.3-2+deb10u3 amd64 [installed,automatic]
python3/orion,oldstable,now 3.7.3-1 amd64 [installed]
root@i-2udbbtytcx3gv6bvmhzb:~# whereis python3
python3: /usr/bin/python3.7 /usr/bin/python3 /usr/bin/python3.7-config /usr/bin/python3.7m-config /usr/bin/python3.7m /usr/lib/python3.7 /usr/lib/python3 /etc/python3.7 /etc/python3 /usr/local/lib/python3.7 /usr/include/python3.7 /usr/include/python3.7m /usr/share/python3 /usr/share/man/man1/python3.1.gz
未安装不会有输出,如未安装则先安装python3,命令:apt-get install python3。 2、在家目录下创建虚拟环境。 以下命令创建虚拟环境的应用程序目录。可以将app进行更改。
root@i-2udbbtytcx3gv6bvmhzb:~# python3 -m venv app/env
root@i-2udbbtytcx3gv6bvmhzb:~# ls -al app
total 12
drwxr-xr-x 3 root root 4096 May 6 02:42 .
drwx------ 20 root root 4096 May 6 02:42 ..
drwxr-xr-x 6 root root 4096 May 6 02:42 env
3、激活虚拟环境。 在app文件夹下的bin目录中查找 activate文件进行激活,如下:
root@i-2udbbtytcx3gv6bvmhzb:~# source app/env/bin/activate
(env) root@i-2udbbtytcx3gv6bvmhzb:~#
更新pip,如下:
(env) root@i-2udbbtytcx3gv6bvmhzb:~# pip install pip --upgrade
Collecting pip
Using cached https://files.pythonhosted.org/packages/4d/16/0a14ca596f30316efd412a60bdfac02a7259bf8673d4d917dc60b9a21812/pip-22.0.4-py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 18.1
Uninstalling pip-18.1:
Successfully uninstalled pip-18.1
Successfully installed pip-22.0.4
查看虚拟环境中安装的库,如下:
(env) root@i-2udbbtytcx3gv6bvmhzb:~/app/env/bin# pip list
Package Version
------------- -------
pip 18.1
pkg-resources 0.0.0
setuptools 40.8.0
4、安装requests库,进行测试。 安装requests,如下:
(env) root@i-2udbbtytcx3gv6bvmhzb:~# pip install requests
Collecting requests
Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting charset-normalizer~=2.0.0
Downloading charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting certifi>=2017.4.17
Downloading certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.2/149.2 KB 20.4 kB/s eta 0:00:00
Collecting idna<4,>=2.5
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
Using cached urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
Installing collected packages: certifi, urllib3, idna, charset-normalizer, requests
Successfully installed certifi-2021.10.8 charset-normalizer-2.0.12 idna-3.3 requests-2.27.1 urllib3-1.26.9
在python环境下导入requests库,进行测试,如下:
(env) root@i-2udbbtytcx3gv6bvmhzb:~# python
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.get("https://baidu.com")
>>> print(r.text)
<!DOCTYPE html>
<html>
......
退出虚拟环境,如下:
(env) root@i-2udbbtytcx3gv6bvmhzb:~/app/env/bin# deactivate
root@i-2udbbtytcx3gv6bvmhzb:~/app/env/bin#
如要实现登录自动激活虚拟环境,可以通过配置 ~/.bashrc 文件来实现,如下:
root@i-2udbbtytcx3gv6bvmhzb:~#echo "source ${HOME}/app/env/bin/activate" >> ${HOME}/.bashrc
如果您有其他问题,欢迎您联系火山引擎技术支持服务