推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
t133
V2EX  ›  Python

Python 导入包顺序的先后可能改变代码行为?

  •  
  •   t133 · May 27, 2023 via iPhone · 2735 views
    This topic created in 1100 days ago, the information mentioned may be changed or developed.

    各位大佬,小弟最近碰到了一个非常诡异的 bug. 先导入 torch 后导入这个 package 就会出现异常。 感觉可能是导入的时候定义了全局变量? 详情可以看我这个 issue https://github.com/tblite/tblite/issues/110 目测 torch 的锅的可能性应该不大吧

    11 replies    2023-05-31 14:35:12 +08:00
    iorilu
        1
    iorilu  
       May 27, 2023 via Android
    当然有关系

    Python 经常有循环导入,不注意顺序根本运行不了
    flyqie
        2
    flyqie  
       May 28, 2023 via Android
    这有啥意外的吗。。

    不仅 python ,很多语言都会这样,习惯就好。。

    遇上了就算点背,调试可能得好久。
    asmoker
        3
    asmoker  
       May 28, 2023 via Android
    版本问题?
    miaotaizi
        4
    miaotaizi  
       May 29, 2023
    有没有好的方案能避免循环导入, 我也被这个问题搞得头大
    Latin
        5
    Latin  
       May 29, 2023
    @miaotaizi 把类似 util 函数相关的导包放入函数内部 避免启动时候循环导包
    rev1si0n
        6
    rev1si0n  
       May 29, 2023
    会,有时候还会根据导入顺序给一些模块打个补丁
    akaHenry
        7
    akaHenry  
       May 30, 2023
    @miaotaizi 局部 import 啊. 函数内 import 模块.
    miaotaizi
        8
    miaotaizi  
       May 30, 2023
    @akaHenry 所以局部 import 没啥毛病么, 好多人说不够优雅...
    哈哈
    t133
        9
    t133  
    OP
       May 30, 2023 via iPhone
    其实我想问 是不是有这种 feature 的包不太符合规范
    akaHenry
        10
    akaHenry  
       May 31, 2023
    @miaotaizi 循环引用, 解决冲突的办法就是 local import. 还管啥优雅不优雅.
    miaotaizi
        11
    miaotaizi  
       May 31, 2023
    @akaHenry 有些人就是拿这种事情当饭吃
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   836 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 21:36 · PVG 05:36 · LAX 14:36 · JFK 17:36
    ♥ Do have faith in what you're doing.