Python site-package和本地package重名怎么办?

文章讨论了在Python项目中遇到的模块导入问题,当本地包名与site-packages中的库名相同导致冲突。作者通过查看并修改sys.path来管理导入顺序,先移除当前路径和空路径,从而能正确导入site-packages的库,然后在需要时将本地路径重新添加回sys.path。
摘要由CSDN通过智能技术生成

  参考资料:

  https://www.devdungeon.com/content/python-import-syspath-and-pythonpath-tutorial#toc-12

  起因是我在项目文件夹下面有一个datasets包,然后huggingface同时开发了一个site-package叫datasets,在进行搜索的时候就会优先搜索到本地文件夹下面的datasets文件夹而不能正确地导入从网上下载下来的pip包。

  最简单的处理方式当然是直接给本地的包名重命名一下。然而,由于本地的项目datasets使用的地方实在太多,于是乎就想找一个两全其美的办法:

  首先使用sys.path看一下import的搜索路径:

  可以看到第一行是当前路径,第四行是留白一个''。虽不知后者的意思,但我通过列表的删除操作把这两个子段删去:

sys.path.remove('/workspace/layout_contentaware/layoutDM')
sys.path.remove('')

  删除之后,使用import datasets as XX就能够导入Site-package了,然后sys.path前面加入本地路径,复原~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值