Ubuntu搭建Python虚拟环境:virtualenv

1 缘起

一阶段:Python开发,使用Windows环境,使用的相关依赖在Windows环境都能使用;
进入二阶段,开发了一个新功能,使用了k8s,Python依赖为:easy_k8s,
刚好,easy_k8s没有Windows版本,只能使用Linux环境,
当然,另一个状况是,公司收到Anaconda通知,没有商业授权,禁止在开发中使用Anaconda,
索性,不使用Anaconda,直接上virtualenv替代,
使用Ubuntu环境部署Python开发环境,过程记录如下,
帮助开发者快速搭建开发环境。

版本:
Ubuntu:20.04.6 LTS
Python:3.10
Pip:24.0

2 部署过程

2.1 环境准备

# 添加包仓库:Personal Package Archive
sudo add-apt-repository ppa:deadsnakes/ppa
# 更新仓库源
sudo apt update
# 安装python3.10
sudo apt install python3.10
# 安装Distutils
sudo apt install python3.10-distutils 
# 安装虚拟环境
sudo apt install virtualenv

Distutils是工具包,用于构建/安装Python环境中需要的包(可以是C/C++包、Python包),
安装过程中,没有安装distutils,使用pip安装依赖时出错。

2.2 应用

2.2.1 格式:新建虚拟环境

virtualenv /path

2.2.2 在.venv目录新建虚拟环境

  • 指定python版本新建虚拟环境
virtualenv --python=/usr/bin/python3.10 .venv

2.2.3 升级pip版本:升级.venv虚拟环境pip

升级虚拟环境中pip的版本,保证后续的依赖安装可以正常进行,
遇到的问题:pip版本为20.x,安装依赖时,抛出异常,无法继续安装,
异常信息见Q&A部分。

curl -sS https://bootstrap.pypa.io/get-pip.py | .venv/bin/python3.10

2.2.4 安装依赖:在.venv虚拟环境中

在虚拟环境中安装依赖,
使用ALiYun源,这个源的包比较全,更新及时。

.venv/bin/pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

3 Q&A

3.1 问题1

RuntimeError: failed to query /usr/bin/python3.10 with code 1 err: ‘/usr/lib/python3/dist-packages/virtualenv/discovery/py_info.py:16: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives\n from distutils.command.install import SCHEME_KEYS\nTraceback (most recent call last):\n File “/usr/lib/python3/dist-packages/virtualenv/discovery/py_info.py”, line 16, in \n from distutils.command.install import SCHEME_KEYS\nModuleNotFoundError: No module named ‘distutils.command’\n’

3.1.1 原因

缺少distutils包。
distutils是辅助安装Python依赖的工具包,缺少distutils时,
会出现无法正常安装依赖问题,因为安装源码中使用到了distutils包,
源码如下:

from distutils.command.install import SCHEME_KEYS

因此,为了保证安装依赖正常进行,务必安装distutils工具包。

3.1.2 方案

安装distutils 包。

sudo apt install python3.10-distutils 

3.2 问题2

Traceback (most recent call last):
File “/home/m/projects/p/.venv/bin/pip3”, line 8, in
sys.exit(main())
File “/home/m/projects/p/.venv/lib/python3.10/site-packages/pip/_internal/cli/main.py”, line 73, in main
command = create_command(cmd_name, isolated=(“–isolated” in cmd_args))
File “/home/m/projects/p/.venv/lib/python3.10/site-packages/pip/_internal/commands/init.py”, line 96, in create_command
module = importlib.import_module(module_path)
File “/usr/lib/python3.10/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “

3.2.1 原因

pip版本低,不满足需求。

3.2.2 方案

重新安装高版本pip。

curl -sS https://bootstrap.pypa.io/get-pip.py | {python路径}

在.venv虚拟环境中提升pip版本:

curl -sS https://bootstrap.pypa.io/get-pip.py | .venv/bin/python3.10

全局安装:

curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10

4 总结

Ubuntu部署Python虚拟环境需要注意:
(1)添加个人源:deadsnakes
(2)安装distutils包;
(3)升级pip版本:推荐使用最新版24。

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
<h3>回答1:</h3><br/>Ubuntu搭建Python开发环境的步骤如下: 1. 安装Python Ubuntu自带Python,可以通过终端输入以下命令来检查是否已安装Python: ``` python --version ``` 如果已安装,则会显示Python的版本号。如果未安装,则可以通过以下命令安装: ``` sudo apt-get install python ``` 2. 安装pip pip是Python的包管理工具,可以通过以下命令安装: ``` sudo apt-get install python-pip ``` 3. 安装虚拟环境 虚拟环境可以隔离不同项目的依赖关系,避免不同项目之间的依赖冲突。可以通过以下命令安装: ``` sudo apt-get install python-virtualenv ``` 4. 创建虚拟环境 可以通过以下命令创建一个名为myenv的虚拟环境: ``` virtualenv myenv ``` 5. 激活虚拟环境 可以通过以下命令激活myenv虚拟环境: ``` source myenv/bin/activate ``` 6. 安装所需的Python包 可以通过pip安装所需的Python包,例如: ``` pip install numpy pip install pandas pip install matplotlib ``` 7. 退出虚拟环境 可以通过以下命令退出虚拟环境: ``` deactivate ``` 以上就是在Ubuntu搭建Python开发环境的步骤。 <h3>回答2:</h3><br/>在Ubuntu搭建Python开发环境十分简单方便。以下是步骤: 1. 安装Python3 使用Ubuntu的默认软件包管理器apt安装Python3,打开终端,并在终端中输入下列命令: ``` sudo apt update sudo apt install python3 ``` 安装完成后,可以通过输入以下命令进行确认安装版本: ``` python3 --version ``` 2. 安装pip pip是Python包管理器,用于安装和管理Python库。我们可以使用apt命令来安装pip: ``` sudo apt install python3-pip ``` 安装完成后,可以通过输入以下命令进行确认安装版本: ``` pip3 --version ``` 3. 安装虚拟环境 虚拟环境允许您在同一系统上的不同项目中使用不同版本的Python库。安装虚拟环境,可以避免库版本冲突等问题。使用pip3安装虚拟环境: ``` sudo pip3 install virtualenv ``` 4. 创建虚拟环境 创建虚拟环境步骤如下: - 首先,创建一个目录来存储虚拟环境。例如,使用以下命令在您的主目录下创建名为“myenv”的目录: ``` mkdir ~/myenv ``` - 然后,使用以下命令创建虚拟环境: ``` virtualenv ~/myenv ``` 5. 激活虚拟环境 使用以下命令激活虚拟环境: ``` source ~/myenv/bin/activate ``` 6. 安装第三方库 现在可以在虚拟环境中安装Python库,例如安装NumPy和Pandas: ``` pip3 install numpy pandas ``` 此时,您就可以使用已安装的库编写Python程序了。例如,如下示例使用NumPy库: ```python import numpy as np a = np.array([1, 2, 3]) print(a) ``` 7. 退出虚拟环境 使用以下命令退出虚拟环境: ``` deactivate ``` 总结: 搭建Python开发环境可以帮助您更好地开发Python应用程序。在Ubuntu搭建Python开发环境很容易,只需遵循上述步骤即可。如果您想要使用其他Python库或特定版本的Python,也很容易做到。 <h3>回答3:</h3><br/>Ubuntu是一款流行的操作系统,而Python则是一门热门的编程语言。如果您正在使用Ubuntu,并且想要在此平台上开发Python程序,那么可以在Ubuntu搭建Python开发环境。下面是一些步骤和技巧来搭建Python开发环境。 1. 安装Python 首先,需要安装Python。在Ubuntu上,可以使用apt-get命令来安装Python。打开终端,输入以下命令即可安装Python 3: sudo apt-get update sudo apt-get install python3 2. 安装pip pip是Python的包管理工具,用于下载和安装Python软件包。同样,可以使用apt-get命令来安装pip。在终端中输入以下命令即可安装pip: sudo apt-get update sudo apt-get install python3-pip 3. 安装虚拟环境 一个好的Python开发环境不仅需要Python和pip,还需要虚拟环境虚拟环境使您可以在自己的项目中使用不同的Python版本和软件包,以避免冲突和错误。可以使用以下命令安装虚拟环境: sudo apt-get install virtualenv 4. 创建虚拟环境 现在,可以使用虚拟环境来安装Python和相关软件包,以便为项目创建完整的工作环境。可以使用以下命令在当前目录中创建一个名为venv的虚拟环境virtualenv venv 5. 激活虚拟环境 创建虚拟环境后,需要使用以下命令激活它: source venv/bin/activate 激活后,终端会显示虚拟环境的名称(venv)。现在,可以在此虚拟环境中安装Python包。 6. 安装Python包 现在,在虚拟环境中,可以使用pip来安装所需的Python软件包。例如,如果要使用Django框架创建Web应用程序,可以使用以下命令安装Django: pip install django 7. 创建Python项目 现在,可以使用任何文本编辑器来创建Python项目。例如,可以使用Nano编辑器创建一个名为“myproject”的Django项目: nano myproject/settings.py 完成配置后,可以使用以下命令运行Django项目: python manage.py runserver 现在,可以在Web浏览器中打开http://127.0.0.1:8000,并查看Django项目。 总之,这些是在Ubuntu搭建Python开发环境的一些主要步骤。使用这些步骤,可以轻松地开始在Ubuntu上编写和运行Python代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值