Python 常用命令备忘

Python 常用命令备忘

## 设置不生成字节码文件
字节码文件作用
* Python解释器将源码转换为字节码 (.pyc文件), 然后再由解释器来执行这些字节码;
* 下次执行时,如果没有变化,则优先执行生成好的字节码文件
方式一:设置环境变量(最常用的)

export PYTHONDONTWRITEBYTECODE=1

方式二:使用 -B参数

python -B test.py

方式三:在导入的地方写
import sys
sys.dont_write_bytecode = True

#安装notebook  --user 当前用户可用  不加--user 全局可用
python3 -m pip install -U --user notebook jupyter-client<8 pyzmq jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple/

#更新pip
python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/

#centos7 安装更新pip 安装mycli supervisor
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本
sudo python get-pip.py --force-reinstall    # 运行安装脚本
sudo python3 get-pip.py    # 运行安装脚本
yum install  python36 ;pip3 install setuptools_rust ;pip3 install mycli
sudo yum install python-devel
sudo yum install openldap-devel
python3 -m ensurepip --default-pip
python3 -m pip install --upgrade pip setuptools wheel   # 更新
python -m ensurepip --upgrade   # 重装pip
pip install supervisor

yum install python-ldap

###pip
https://pip.pypa.io/en/stable/
pip search Package
pip install Package
pip install flask==版本号         #指定版本安装
pip install http://my.package.repo/SomePackage-1.0.4.zip       #从网址安装指定文件
pip install -r requirements.txt
pip install -U Package
pip uninstall Package

pip list           #查询所有已安装的包
pip freeze
pip freeze > requirements.txt   # 将环境中已安装的包保存到requirements.txt文件中
pip freeze -r requirements.txt   # 列出文件中指定的包
pip install -r requirements.txt  # 安装文件中所有的包
pip list --o            #查询版本过时的安装包(查询当前环境可升级的包)
pip list --path 指定路径 (必须指定到直接存放包的文件)        #查询指定路径下的安装包

pip show packagename              #查询主要信息
pip show --verbose packagename             #查询包的所有信息
pip show -f Package                #查询包安装的文件

pip completion --bash >> .bash_profile

# whl包安装
https://pypi.org/project/mysqlclient/#files
pip install xxx.whl

#升级所有包
for i in `pip list --outdated --trusted-host pypi.douban.com | tail -n +3 | awk '{print $1}'`; do pip install -U $i; done

pip install flask --timeout 6000

pip install flask -i 镜像源

##python国内镜像源
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/ 
豆瓣:http://pypi.douban.com/simple/

## conda 常用命令
https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-2-Linux-x86_64.sh
sh Miniconda3-py310_23.11.0-2-Linux-x86_64.sh
conda config --set auto_activate_base false
生成~/.condarc配置文件
conda config --setshow_channel_urls yes

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

conda clean -i

conda create -n myenv numpy

一、创建虚拟环境
conda  create  --name  env_name
conda  create  -n  env_name package_name 
#创建名为env_name的新环境,并在该环境下安装名为package_name 的包
conda  create  --name  env_name python=3.5 # 创建指定python版本
conda  create  --name  env_name python=3.5 numpy scipy # 创建指定python版本下包含某些包

eg:conda create -n python2 python=python2.7 numpy pandas
#创建了python2环境,python版本为2.7,同时还安装了numpy pandas包

二、激活/使用/进入某个虚拟环境
activate  env_name

eg:conda create -n tensorflow_env tensorflow
conda activate tensorflow_env 
#conda 安装tensorflow的CPU版本

eg:conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv 
#conda安装tensorflow的GPU版本

三、退出当前环境
deactivate

四、复制某个虚拟环境
conda  create  --name  new_env_name  --clone  old_env_name

五、删除某个环境
conda  remove  --name  env_name  --all
conda env remove -n env_name       #上面失败时用
conda  remove  package       #删除当前环境中的包
conda  remove  --name  env_name  package       #删除指定环境中的包

六、查看当前所有环境
conda  info  --envs
conda  env  list

七、查看当前虚拟环境下的所有安装包
conda  list  需进入该虚拟环境
conda  list  -n  env_name

八、安装或卸载包(进入虚拟环境之后)
conda  install  xxx
conda  install  xxx=版本号      # 指定版本号
conda  install  xxx -i 源名称或链接       # 指定下载源
conda  install --name env_name package_name       #在指定环境中安装包
conda  uninstall  xxx

九、分享虚拟环境
conda env export > environment.yml  # 导出当前虚拟环境
conda env create -f environment.yml  # 创建保存的虚拟环境

十、源服务器管理
conda当前的源设置在$HOME/.condarc中,可通过文本查看器查看或者使用命令>conda config --show-sources查看。

conda config --show-sources #查看当前使用源
conda config --remove channels 源名称或链接 #删除指定源
conda config --add channels 源名称或链接 #添加指定源

例如:
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

十一、升级
# 升级Anaconda需先升级conda
conda update conda
conda update anaconda
conda update --all     #更新所有包
conda update package_name    #更新指定的包

十二、卸载
rm  -rf  anaconda

十三、批量导出虚拟环境中的所有组件
conda list -e > requirements.txt  # 导出
conda install --yes --file requirements.txt  # 安装

十四、查看conda版本
conda --version

十五、conda瘦身
conda clean -p          #删除没有用的包 (检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们)
conda clean -t          #删除tar包 (删除conda保存下来的tar包)
conda clean -y --all    #删除所有的安装包及cache

十六、解决conda/pip install 下载速度慢
1、conda数据源管理:

#显示目前conda的数据源有哪些
conda config --show channels
#添加数据源:例如, 添加清华anaconda镜像:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
#删除数据源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
#显示目前pip的数据源有哪些
pip config list
pip config list --[user|global] # 列出用户|全局的设置
pip config get global.index-url # 得到这key对应的value 如:https://mirrors.aliyun.com/pypi/simple/

tips:
#本人的 ~/.condarc
auto_activate_base: false
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    show_channel_urls: true

2、pip数据源管理:

# 添加
pip config set key value
#添加数据源:例如, 添加USTC中科大的源:
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
#添加全局使用该数据源
pip config set global.trusted-host https://mirrors.ustc.edu.cn/pypi/web/simple
# 删除
pip config unset key
# 例如
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
#搜索
pip search flask  #搜素flask安装包
# 升级pip
pip install pip -U

tips:
阿里云                    http://mirrors.aliyun.com/pypi/simple/
中国科技大学         https://pypi.mirrors.ustc.edu.cn/simple/ 
豆瓣(douban)         http://pypi.douban.com/simple/ 
清华大学                https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学  http://pypi.mirrors.ustc.edu.cn/simple/

### windows python环境
$profile
test-path $profile
new-item -path $profile -itemtype file -force
notepad $profile
new-item -path $env:windir\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force

1. pip
pip是Python包的管理工具。提供了对Python包的安装、查看、升级、卸载等功能。

a. 更新pip
python -m pip install --upgrade pip

b. 重装pip
Python附带了一个ensurepip模块,它可以在当前Python环境中安装pip。如果pip因为一些意外情况导致出现无法运行的错误,可以直接执行以下命令重装它:

python -m ensurepip --upgrade
c. pip命令代码补全
pip除了支持 bash、zsh 和 Fish 中的命令行补全之外,还支持PowerShell,需要在PowerShell配置文件$PROFILE中添加补全代码即可:

python -m pip completion --powershell | Out-File -Encoding default -Append $PROFILE
重启PowerShell或者执行命令.$PROFILE即可生效。
但是经过测试,发现补全效果不是很好,只有默认pip可以识别补全,"python -m pip"、"py -m pip"这两种都无法识别 ,我们可以稍微修改一下代码,在PowerShell中输入:

notepad $PROFILE
在弹出的文本编辑窗口中按以下代码修改一下之前添加的补全代码即可:

# pip powershell completion start
if ((Test-Path Function:\TabExpansion) -and -not `
    (Test-Path Function:\_pip_completeBackup)) {
    Rename-Item Function:\TabExpansion _pip_completeBackup
}
function TabExpansion($line, $lastWord) {
    $lastBlock = [regex]::Split($line, '[|;]')[-1].TrimStart()
    if ($lastBlock.StartsWith("D:\python\python.exe -m pip ")) {
        $Env:COMP_WORDS=$lastBlock
        $Env:COMP_CWORD=$lastBlock.Split().Length - 1
        $Env:PIP_AUTO_COMPLETE=1
        (& D:\python\python.exe -m pip).Split()
        Remove-Item Env:COMP_WORDS
        Remove-Item Env:COMP_CWORD
        Remove-Item Env:PIP_AUTO_COMPLETE
    }
    elseif ($lastBlock.StartsWith("py -m pip ")) {
        $Env:COMP_WORDS=$lastBlock
        $Env:COMP_CWORD=$lastBlock.Split().Length - 1
        $Env:PIP_AUTO_COMPLETE=1
        (& py -m pip).Split()
        Remove-Item Env:COMP_WORDS
        Remove-Item Env:COMP_CWORD
        Remove-Item Env:PIP_AUTO_COMPLETE
    }
    elseif ($lastBlock.StartsWith("python -m pip ")) {
    $Env:COMP_WORDS=$lastBlock
    $Env:COMP_CWORD=$lastBlock.Split().Length - 1
    $Env:PIP_AUTO_COMPLETE=1
    (& python -m pip).Split()
    Remove-Item Env:COMP_WORDS
    Remove-Item Env:COMP_CWORD
    Remove-Item Env:PIP_AUTO_COMPLETE
    }
    elseif (Test-Path Function:\_pip_completeBackup) {
        # Fall back on existing tab expansion
        _pip_completeBackup $line $lastWord
    }
}
# pip powershell completion end

以上代码保存之后,重启PowerShell或者执行命令.$PROFILE即可生效。再次测试除了补全速度稍微慢一点之外,完美的识别了三种pip命令的代码补全。

d. 安装软件包
以常用的requests包为例:

# 从官方镜像源中安装requests最新版本包
pip install requests
install命令默认安装最新版本的包,如果项目有版本要求,那么应该注意安装的版本,可以使用<package name>==<version>来指定单独安装的包版本:

# 从官方镜像源中安装requests2.18.1版本包
pip install requests==2.18.1
用以上方法安装指定版本的包时,如果本身已安装过了,那么此时会覆盖原先已安装的版本。
对于版本号管理有以下几种格式:

== 指定版本号
=> 高于此版本号
<= 小于此版本号
< 小于此版本号
> 大于此版本号
还可以使用requirements.txt文件来批量安装软件包,requirements文件内容一般包含了软件包名称与软件包的版本号,它可以是自己手动写入修改,也可以是从已安装的包环境中导出的(下文有介绍):

# 根据requirements.txt文件批量安装软件包
pip install -r requirements.txt
e. 设置软件包的镜像源
install命令可以带一个-i <url>选项,此选项是包索引选项,-i选项后面可附带包所在的镜像源网址<url>;如果install命令不带-i选项,那么默认会从官方镜像源安装包,此时很有可能网速会受限下载很慢,那么-i选项就很有必要了,它可以更改指定成国内访问速度比较快的镜像源网址<url>:

# 从指定镜像源网址中安装requests包
pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ requests
# 从指定镜像源网址中批量安装requirements.txt中的包
pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt
国内访问速度比较快的镜像源网址有:

# 阿里云
https://mirrors.aliyun.com/pypi/simple/
# 百度云
https://mirror.baidu.com/pypi/simple/
# 腾讯云
https://mirrors.cloud.tencent.com/pypi/simple/
# 华为云
https://mirrors.huaweicloud.com/repository/pypi/simple/
# 网易
https://mirrors.163.com/pypi/simple/
# 豆瓣
https://pypi.doubanio.com/simple/
# 中科大
https://pypi.mirrors.ustc.edu.cn/simple/
# 清华大学
https://pypi.tuna.tsinghua.edu.cn/simple/
f. pip配置文件
除了可以在命令行设置软件包的镜像源之外,pip还支持配置文件pin.ini,配置文件可以更改命令行选项的默认值。它们是使用标准INI样式的配置文件编写的。这样每次执行命令时都会有配置文件进行约束,大大减少了不必要的麻烦。
查找pip.ini配置文件所在位置的命令:

pip config list -v
# 多版本Python可以用py命令执行对应版本的pip
py -3.8 -m pip config list -v #python3.8版本
py -3.12 -m pip config list -v #python3.12版本
关于py命令的介绍,后文会有讲解,这里先略过,命令执行结果如下:

## %APPDATA%\pip\pip.ini或者%HOME%\pip\pip.ini。其中,%APPDATA%和%HOME%的值可以在命令行中通过echo命令来打印出具体的值,从而进行配置。
上面列出的是pip试图加载配置文件的顺序,至于variant后面表示的含义,pip官网有详细的介绍:

pip has 3 “levels” of configuration files:

global: system-wide configuration file, shared across users.
user: per-user configuration file.
site: per-environment configuration file; i.e. per-virtualenv.
从中可以看出pip的配置文件位置有三种:系统级配置文件、用户配置文件和当前环境配置文件;另外,前面的global、user这两类的配置文件对于多版本Python来说是可以通用的,而唯一有区别的是site级的配置文件,它位于当前版本下的安装目录中。
所以对于怎么来设置pip的配置文件pip.ini,就看个人喜好了,想一次配置多版本通用,那么设置global、user;想在每个版本都给它设置一个,那么可以设置site。

注意:上述pip config list -v命令列出的 4 个配置文件,是按由上至下的顺序逐级加载,如果有相同的参数名称, 后面加载的会覆盖前面的。

接下来是配置pip.ini,这里选用户级的配置文件:user(使用对应的选项--user)。如果不清楚文件是否存在,那么可以使用以下命令:

pip config --user set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config --user set install.trusted-host mirrors.aliyun.com
该命令会在pip.ini文件不存在时,在文件夹:%APPDATA%\pip(在文件资源管理器的地址栏中输入回车即可跳转到该目录)下自动新建一个pip.ini文件,如果文件存在,那么会覆盖掉对应变量的值。

执行完上述命令后,想要修改的话,可以在PowerShell中输入以下命令并回车:

pip config edit --editor notepad
此时会使用记事本来打开pip.ini文件,参考以下内容修改保存即可:

[global]
# 设置默认的软件包安装源为PyPI(Python软件包索引)
index-url = https://mirrors.aliyun.com/pypi/simple/
# 额外的软件包安装源
extra-index-url = https://mirror.baidu.com/pypi/simple/
                  https://mirrors.cloud.tencent.com/pypi/simple/
                  https://mirrors.huaweicloud.com/repository/pypi/simple/
                  https://mirrors.163.com/pypi/simple/
                  https://pypi.doubanio.com/simple/
                  https://pypi.mirrors.ustc.edu.cn/simple/
                  https://pypi.tuna.tsinghua.edu.cn/simple/
# 设置socket超时时间100s(默认为15s)。
timeout = 100
# 关闭pip版本检查
disable-pip-version-check = true

[install]
# 用于指定可信任的主机,以解决一些安全警告。
trusted-host = mirrors.aliyun.com
               mirror.baidu.com
               mirrors.cloud.tencent.com
               mirrors.huaweicloud.com
               mirrors.163.com
               pypi.doubanio.com
               pypi.mirrors.ustc.edu.cn
               pypi.tuna.tsinghua.edu.cn

链接:https://www.jianshu.com/p/6e1dbf5ffc22

Configuration file contains invalid cp936 characters in C:\Users\user\pip\pip.ini.

报错删除注释

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
extra-index-url = https://mirror.baidu.com/pypi/simple/
                  https://mirrors.cloud.tencent.com/pypi/simple/
                  https://mirrors.huaweicloud.com/repository/pypi/simple/
                  https://mirrors.163.com/pypi/simple/
                  https://pypi.doubanio.com/simple/
                  https://pypi.mirrors.ustc.edu.cn/simple/
                  https://pypi.tuna.tsinghua.edu.cn/simple/
timeout = 100
disable-pip-version-check = true

[install]
trusted-host = mirrors.aliyun.com
               mirror.baidu.com
               mirrors.cloud.tencent.com
               mirrors.huaweicloud.com
               mirrors.163.com
               pypi.doubanio.com
               pypi.mirrors.ustc.edu.cn
               pypi.tuna.tsinghua.edu.cn

pip search 弃用
使用 pip install pip-search

pip_search.exe numpy

# 虚拟环境
Linux
1、安装 virtualenv virtualenvwrapper

pip3 install virtualenv virtualenvwrapper

2、创建目录存放虚拟环境

mkdir -p /python_venv_manage

3、查看 python3 安装目录

which python3

4、查看 virtualenvwrapper.sh 路径

which virtualenvwrapper.sh
或
find / -name "virtualenvwrapper.sh"

5、添加环境变量(对所有用户生效)

vim /etc/profile

添加内容如下:
export WORKON_HOME=/python_venv_manage
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/python3/bin/virtualenvwrapper.sh
export PATH=$PATH:/usr/local/python3/bin

5、创建虚拟环境

mkvirtualenv  虚拟环境名

创建虚拟环境,指定Python路径: mkvirtualenv -p /usr/bin/python3.6  xxx
在虚拟环境中安装套件: pip install 套件名==版本

6、删除虚拟环境

rmvirtualenv 虚拟环境名

7、列出虚拟环境

lsvirtualenv
或者
workon

8、激活虚拟环境

workon 虚拟环境名

9、退出虚拟环境

deactivate

Windows
1、安装 virtualenvwrapper

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

2、创建目录存放虚拟环境

3、配置环境变量
以 WORKON_HOME 为名,值选择一个目录,以后所有使用virtualenvwrapper管理的虚拟环境都会在这个目录中

4、cmd中输入virtualenvwrapper,可以看到相关命令

5、创建虚拟环境

mkvirtualenv --python=/usr/bin/python3 虚拟环境名

6、删除虚拟环境

rmvirtualenv 虚拟环境名

7、列出虚拟环境

lsvirtualenv
或者
workon

8、激活虚拟环境

workon 虚拟环境名

### Anaconda3 环境
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
打开Anaconda Prompt,执行以下命令,将清华镜像配置添加到Anaconda中:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda --version

pip install supervisor-win -i https://mirrors.aliyun.com/pypi/simple

### Gunicorn和Uvicorn
WSGI:Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。
Gunicorn 是一个使用 WSGI 标准的应用服务器。
Flask 和 DJango可以直接使用 Gunicorn 运行,但是FastAPI不能直接使用 Gunicorn,因为 FastAPI 使用最新的ASGI 标准。
Gunicorn 可以作为进程管理器使用,并且可以设定进程的类型,Uvicorn 可以作为 Gunicorn的进程类型。
使用这种组合,Gunicorn 将充当进程管理器,监听端口和IP。它会将接收到的数据传输到运行 Uvicorn 类的工作进程,然后,Uvicorn 将数据传输给 FastAPI。
gunicorn main:app --workers 2 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 
Gunicorn 可以管理失效的进程,如果进程死掉会重启一个新的进程以维持工作进程的数量。
uvicorn 在单进程上使用异步协程是有优势的、但是如果接口方法是同步的则走的多进程模式、也就是 workers 的数量、 这个时候 uvicorn 不如 gunicorn、性能上会有些限制。
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4

安装Gunicorn
首先,确保你的Python环境已经安装了pip包管理工具。然后,在命令行中运行以下命令安装Gunicorn:

$ pip install gunicorn

安装完成后,你可以通过运行以下命令来验证是否安装成功:

$ gunicorn --version

创建Gunicorn配置文件
为了更好地控制Gunicorn的行为,我们可以创建一个配置文件。在项目的根目录下创建一个名为gunicorn.conf.py的文件,并添加以下内容:

# gunicorn.conf.py
bind = '127.0.0.1:8000'  # 绑定的IP地址和端口
workers = 4  # 工作进程数
errorlog = '/path/to/error.log'  # 错误日志文件的路径
accesslog = '/path/to/access.log'  # 访问日志文件的路径
loglevel = 'debug'  # 日志级别

根据需要,你可以根据自己的需求进行配置调整。

启动应用程序 通过以下命令启动应用程序:

$ gunicorn app:app -c gunicorn.conf.py

这里app:app表示你的应用程序入口点,可以根据你的实际情况进行更改。-c参数用于指定配置文件的路径。

高级配置
Gunicorn还提供了许多高级配置选项,以满足更复杂的需求。以下是一些常用的配置选项:

preload_app: 在主进程中预加载应用程序代码,默认为False。
timeout: 工作进程的超时时间,默认为30秒。
graceful_timeout: 优雅关闭的超时时间,默认为30秒。
max_requests: 每个工作进程处理的最大请求数量,默认为0(无限制)。
keepalive: 连接的保持时间,默认为2秒。
你可以在Gunicorn的官方文档中找到更多关于配置选项的详细信息。

使用Nginx作为反向代理(可选)
在生产环境中,通常将Gunicorn与Nginx等反向代理服务器一起使用,以提供更好的性能和安全性。你可以使用Nginx配置将请求代理到Gunicorn,从而实现更高效的负载均衡和静态文件服务。