当前位置: 首页 > article >正文

在FastAPI网站学python:虚拟环境创建和使用

Python虚拟环境(virtual environment)是一个非常重要的工具,它允许开发者为每个项目创建独立的Python环境,隔离您为每个项目安装的软件包,从而避免不同项目之间的依赖冲突。

学习参考FastAPI官网文档:Virtual Environments - FastAPI

创建虚拟环境

创建一个工作目录

# 💬 Go to the home directory
cd
# 💬 Create a directory for all your code projects
mkdir code
# 💬 Enter into that code directory
cd code
# 💬 Create a directory for this project
mkdir awesome-project
# 💬 Enter into that project directory
cd awesome-project

当然也可以简化下输入:

# 回到用户主目录
cd
# 创建并进入code目录
mkdir code && cd code
# 创建并进入项目目录
mkdir awesome-project && cd awesome-project

创建虚拟环境

python -m venv .venv

根据python版本和操作系统不通,可能python命令也不同,比如在FreeBSD下python3.11版本的命令是:

python3.11 -m venv .venv

激活虚拟环境

source .venv/bin/activate

这是bash下的命令,如果在csh下,则使用

source .venv/bin/activate.csh

检查虚拟环境是否处于活动状态

which python

比如输出

which python
/home/skywalk/work/awesome/.venv/bin/python

管理python虚拟环境

升级pip

如果使用pip来安装软件包(默认情况下,Python附带),则应该将其升级到最新版本。

安装软件包时,只需先升级pip,就能解决许多奇特的错误。

python -m pip install --upgrade pip

当然大部分时候也可以简写成:

pip install pip -U

设置pip加速镜像

国内到pip官网的下载速度慢,所以要配置国内的pip加速镜像,有两种加速方法:

 第一种是临时使用,每次使用都需要在pip命令后加入-i参数,如:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

第二种,使用pip config set global.index-url 存入配置

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

添加.gitignore

如果正在使用Git,则需要添加一个.gitignore文件,从Git中排除.venv中的所有内容。

echo "*" > .venv/.gitignore

 

安装软件包

激活环境后,就可以在其中安装软件包。

直接安装软件包

如果很着急,不想使用文件来声明项目的软件包要求,可以直接安装它们。

比如安装FastAPI

pip install "fastapi[standard]"

提示

requirements.txt安装


将程序所需的软件包和版本放入文件中(例如requirements.txtpyproject.toml)是一个(非常)好主意。

如果有requirements.txt,则可以这样来安装其软件包:

pip install -r requirements.txt

 

运行程序¶

激活虚拟环境后,您可以运行程序,它将使用虚拟环境中的Python,以及安装好的软件包。

比如我们写一个main.py文件,内容:

import os

name = os.getenv("MY_NAME", "World")
print(f"Hello {name} from Python")

然后执行:

python main.py
你好,世界
 

配置编辑器¶

编辑器确保将其配置为使用创建的相同虚拟环境(它可能会自动检测它),以便可以获得自动填充和错误关联管理。

停用虚拟环境¶

完成项目工作后,您可以停用虚拟环境。

deactivate

软件包安装在哪里¶

当安装Python时,它会在计算机中创建一些包含一些文件的目录。

其中一些目录负责存放安装的所有软件包。

比如安装FastAPI

pip install "fastapi[standard]"

这将下载一个带有FastAPI代码的压缩文件,通常来自PYPI.

它还将下载FastAPI依赖的其他软件包的文件。

然后,提取所有这些文件,并将它们放入计算机上的目录中。

默认情况下,它将将下载和提取的文件放在Python安装附带的目录中,对本文来说,就放在创建的.venv子目录的这个目录中:.venv/lib64/python3.11/site-packages/fastapi 

总结

python虚拟环境可以将python环境隔离。由于ptyhon的软件包版本繁多,很多不同软件需要不同的软件版本,如果不使用虚拟环境,很可能发生一个软件安装,其它软件因为依赖库的版本不对就不能用的情况。

Python虚拟环境是管理项目依赖、避免版本冲突的重要工具。通过创建和使用虚拟环境,可以确保每个项目都有自己独立的Python解释器和依赖包,从而提高开发效率和项目的可维护性。


http://www.kler.cn/a/354172.html

相关文章:

  • 【数据库原理】数据增删改查,DML、单表查询、多表连接查询
  • 基于Spring Boot的工商局商家管理系统
  • 企业数字化转型中的“烟囱效应”:从小烟囱到大烟囱的折中之道
  • Mac系统下 IDEA配置Maven本地仓库
  • f(f(x))=x^2 -11x+36, 求f(6)的值,
  • ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。
  • 特斯拉智驾路线影响国内OEM组织架构变革,Robotaxi重塑汽车定位搅动风云
  • 【云从】五、负载均衡CLB
  • 使用 Docker compose 部署 Nacos(达梦数据库)
  • MongoDB如何查找数据以及条件运算符使用的详细说明
  • 比肩vercel的nuxt自动化部署,nuxthub+github+cloudflare
  • web网页---QQ注册页面的实现
  • 4.计算机网络_TCP
  • 【2024CANN训练营第二季】Ascend C概述
  • 游戏盾在防御DDoS与CC攻击中的作用与实现
  • 【DNF mysql8.0安装】DNF安装MySQL服务器教程
  • docker-harbor
  • 基于SpringBoot+Vue+uniapp微信小程序的垃圾分类系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 代码随想录 -- 贪心 -- 分发饼干
  • 树莓派--AI视觉小车智能机器人--1.树莓派系统烧入及WiFi设置并进入jupyterlab
  • 滚雪球学Redis[8.1讲]:Redis插件与扩展模块:模块化架构的强大扩展能力
  • 六、设置弹窗显示队列
  • 从nas硬盘大量解压缩zip文件的性能问题
  • COSCon'24 志愿者招募令:共创开源新生活!
  • 语音信号去噪 Matlab语音信号去噪,GUI界面。分别添加了正弦噪声和高斯噪声,分别用了巴特沃斯低通滤波器和小波分解去噪。每步处理都可以播放出信号声音。
  • 鸿蒙开发 四十五 鸿蒙状态管理(嵌套对象界面更新)