python - 如何重定向python导入?
问题描述
我正在使用 Discord.py 的 2 个版本,一个支持自我机器人的修改版本和原始版本。两者都使用相同的包名,discord。discord_py
我在文件夹中有为自我机器人修改过的 discord.py
root
├─ discord_py
│ ├─ __init__.py
│ └─ discord
│ ├─ __init__.py
│
└─ main.py
然而,这给了我导入错误,因为内部discord
也import discord
导致与原始的、未修改的 sys 模块发生冲突discord
。
是否有将import discord
文件discord_py
夹中的重定向到自身的初始化技巧?
解决方案
如果您在 linux 下,请将 PYTHONPATH 环境变量设置为您要导入的 discord.py 的位置。
并确保在运行程序之前将其导出。不同的 ide 将允许您执行此操作的方法,但最坏的情况是您可以从 shell 设置它,导出它,然后手动运行您的 ide。
您还可以使用 venv,它在 PyCharm 中很简单,并手动指定所有站点包的位置。
据我所知,PYTHON_PATH 的工作方式与 PATH 类似,因为它按顺序搜索定义的位置,但不是这样,它首先搜索这些位置,然后是您的环境默认值。
请参阅链接PYTHONPATH 教程
推荐阅读
- amazon-web-services - 我可以在 CloudFormation 中共享 ScalableTarget 或 ScalingPolicy 吗?
- laravel - Laravel - 记录“找不到路线”
- angular - Highcharts - 折线图标记选定点
- python - 将字符串解析为 datetime.timedelta 参数
- r - 如何获得点和多个其他点之间的距离
- r - 根据 data.table 中的计数创建列
- nuget - 如何创建 .Net NuGet 包寻址 2.0 和 2.1
- c# - 在具有两个以太网卡的 PC 中连接到我的本地 mysql 服务器主机
- jquery - 获取具有相同类的元素的不同位置
- typescript - Typescript 中没有泛型的编译检查?