V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 · 2023-05-27 12:30:27 +08:00 via iPhone · 1947 次点击
    这是一个创建于 577 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    11 条回复    2023-05-31 14:35:12 +08:00
    iorilu
        1
    iorilu  
       2023-05-27 12:59:37 +08:00 via Android
    当然有关系

    Python 经常有循环导入,不注意顺序根本运行不了
    flyqie
        2
    flyqie  
       2023-05-28 01:35:09 +08:00 via Android
    这有啥意外的吗。。

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

    遇上了就算点背,调试可能得好久。
    asmoker
        3
    asmoker  
       2023-05-28 13:33:23 +08:00 via Android
    版本问题?
    miaotaizi
        4
    miaotaizi  
       2023-05-29 14:17:46 +08:00
    有没有好的方案能避免循环导入, 我也被这个问题搞得头大
    Latin
        5
    Latin  
       2023-05-29 15:07:38 +08:00
    @miaotaizi 把类似 util 函数相关的导包放入函数内部 避免启动时候循环导包
    rev1si0n
        6
    rev1si0n  
       2023-05-29 16:06:57 +08:00
    会,有时候还会根据导入顺序给一些模块打个补丁
    akaHenry
        7
    akaHenry  
       2023-05-30 08:12:19 +08:00
    @miaotaizi 局部 import 啊. 函数内 import 模块.
    miaotaizi
        8
    miaotaizi  
       2023-05-30 09:02:00 +08:00
    @akaHenry 所以局部 import 没啥毛病么, 好多人说不够优雅...
    哈哈
    t133
        9
    t133  
    OP
       2023-05-30 11:55:45 +08:00 via iPhone
    其实我想问 是不是有这种 feature 的包不太符合规范
    akaHenry
        10
    akaHenry  
       2023-05-31 10:41:24 +08:00
    @miaotaizi 循环引用, 解决冲突的办法就是 local import. 还管啥优雅不优雅.
    miaotaizi
        11
    miaotaizi  
       2023-05-31 14:35:12 +08:00
    @akaHenry 有些人就是拿这种事情当饭吃
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:13 · PVG 09:13 · LAX 17:13 · JFK 20:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.