khl.py khl.py
主页
文档
示例
  • khl.py (opens new window)
  • khl.py.docs (opens new window)
KOOK (opens new window)
主页
文档
示例
  • khl.py (opens new window)
  • khl.py.docs (opens new window)
KOOK (opens new window)
  • 机器人

    • 初始化
    • 命令
    • 定时任务
    • 在玩状态
  • 消息

    • 消息类型
    • 上传和发送文件或图片
    • 卡片消息
  • 频道

    • 获取频道对象
    • 主动发送消息
  • 用户

    • 获取机器人用户对象
    • 获取用户对象和发送私聊信息
    • 机器人下线
  • 服务器

    • 获取服务器对象
    • 服务器角色操作
    • 设置用户昵称
  • 事件

    • 事件基础处理
  • 其他

    • KOOK客户端获取各类ID
    • 多文件注册机器人命令
    • 配置python的venv虚拟环境
      • 说明
      • venv虚拟环境
        • 1.创建
        • 2.启动
        • 3.退出
      • 结语
    • 获取图片链接
    • 尝试自己调用api
    • OpenSSL本地证书无法获取错误
  • docs
  • 其他
musnows
2023-05-27
目录

配置python的venv虚拟环境

# 说明

有的时候,在一台机器上需要运行多个python项目。这些项目的依赖项不一,有可能会出现依赖不一致的情况

项目1,需要aiohttp  3.7.0
项目2,需要aiohtpp  3.8.1

如果出现了对于同一个依赖包 aiohttp,需要两种不同版本的情况,就有可能会出现依赖项冲突

仅仅拿aiohttp做个例子,并非实际情况。版本不一致也不一定会出现冲突问题

这时候,我们就可以针对每个不同的项目创建一个venv虚拟环境,并在这个虚拟环境中按照对应版本的包,就不会出现依赖项版本不一致导致的冲突问题了

# venv虚拟环境

python自带了一个虚拟环境venv,你也可以使用其他能够配置虚拟环境的包

# 1.创建

使用如下命令,会在当前文件夹下创建一个以bot命名的文件夹和对应的虚拟环境

# python -m venv 名字
python -m venv bot

创建完毕后,先使用pip list查看当前环境下安装了什么包

$ pip3.10 list
Package                Version
---------------------- -----------
aiofiles               0.8.0
aiohttp                3.8.1
aiosignal              1.2.0
aliyun-python-sdk-core 2.13.36
aliyun-python-sdk-kms  2.16.0
APScheduler            3.9.1
async-timeout          4.0.2
attrs                  22.1.0
certifi                2022.6.15
cffi                   1.15.1
charset-normalizer     2.1.1
click                  8.1.3
colorama               0.4.6
crcmod                 1.7
cryptography           38.0.2
docopt                 0.6.2
Flask                  2.2.2
frozenlist             1.3.1
h11                    0.14.0
idna                   3.3
itsdangerous           2.1.2
Jinja2                 3.1.2
jmespath               0.10.0
khl.py                 0.3.7
MarkupSafe             2.1.1
multidict              6.0.2
numpy                  1.24.1
oss2                   2.16.0
pandas                 1.5.2
Pillow                 9.2.0
pip                    22.3.1
pipreqs                0.4.11
pycparser              2.21
pycryptodome           3.15.0
pycryptodomex          3.15.0
python-dateutil        2.8.2
pytz                   2022.2.1
pytz-deprecation-shim  0.1.0.post0
requests               2.28.1
riot-auth              1.0.3
setuptools             63.2.0
six                    1.16.0
tzdata                 2022.2
tzlocal                4.2
urllib3                1.26.11
uvicorn                0.18.3
valorant               1.0.4
Werkzeug               2.2.2
yarg                   0.1.9
yarl                   1.8.1
zhconv                 1.4.3

你会发现还是有很多包啊?这是因为我们只创建了虚拟环境,还没有启动它!

# 2.启动

Linux系统中,使用如下命令,启动当前目录下,以bot命名的虚拟环境

source bot/bin/activate

如果是windows系统,则使用如下命令

./bot/Scripts/activate

你会发现命令行前面多了一个(bot),这就代表我们的虚拟环境启动成功了!

(bot) [muxue@bt-7274:~/kook/test]$

此时,再次执行 pip list,可以看到只有两个默认的包了;这样便代表虚拟环境启动成功,我们可以在此环境中安装当前目录下的项目需要的依赖包

(bot) [muxue@bt-7274:~/kook/test]$ pip3.10 list
Package    Version
---------- -------
pip        22.2.1
setuptools 63.2.0

# 3.退出

如下命令即可退出虚拟环境(windows和linux通用)

deactivate

# 结语

基本操作就是这些。使用虚拟环境,能保证系统上全局的依赖包不影响我们当前的项目。但在使用项目的时候,也需要注意是否有两个依赖项之间的冲突。

比如:A包需要Falsk 0.3.1,而B包需要Falsk 0.5.1,如果你的项目同时使用了A包和B包,就会出现依赖项冲突。

要避免使用会冲突的第三方包。

上次更新: 2023/05/28, 08:03:54
多文件注册机器人命令
获取图片链接

← 多文件注册机器人命令 获取图片链接→

Theme by Vdoing | Copyright © 2023-2025 khl.py | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式