Django REST framework 项目运行测试时遇到导入出错 - V2EX
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
veoco
V2EX    Python

Django REST framework 项目运行测试时遇到导入出错

  •  
  •   veoco 2021-09-25 17:37:20 +08:00 2807 次点击
    这是一个创建于 1476 天前的主题,其中的信息可能已经有所发展或是发生改变。

    运行测试的时候报错,看了下具体报错代码:

    # rest_framework/test.py from rest_framework.compat import coreapi, requests if requests is not None: class HeaderDict(requests.packages.urllib3._collections.HTTPHeaderDict): # 这行出错 

    到最开始导入 requests 的地方:

    # rest_framework/compat.py try: import requests except ImportError: requests = None 

    应该不会有问题啊,再看了下我的 Django 目录结构:

    proj ├── proj └── app1 │ └── test.py └── app2 └── requests 

    我 Django 项目里有个叫 requests 的项目,这样就导致安装 DRF 后,在运行测试的时候导入了错误的包。

    问题来了,有没有改应用名之外更好的解决方法?

    8 条回复    2021-09-26 11:24:31 +08:00
    ErwinCheung
        1
    ErwinCheung  
       2021-09-25 18:01:24 +08:00
    ni 很秀
    mousenonng
        2
    mousenonng  
       2021-09-25 22:14:54 +08:00
    个人建议项目改名,省时省力不折腾
    abersheeran
        3
    abersheeran  
       2021-09-25 23:14:28 +08:00
    requests 这种永恒的经典,你还是别抢名字吧。你这就好像自己写个包叫 os 一样,我都不知道该咋说。照实说我怕我被封号……哎
    nuistzhou
        4
    nuistzhou  
       2021-09-26 01:04:54 +08:00 via iPhone
    虽然强烈不建议抢占关键字 /builtin library 来命名,不过你通过指定路径导入应该没问题啊…然后要记得 import { sth } as {不重复的名字}再用
    niknik
        5
    niknik  
       2021-09-26 08:46:06 +08:00
    改名吧,你都让我想起以前自己的操作了。。。。
    lingo
        6
    lingo  
       2021-09-26 09:28:53 +08:00
    改名吧。。对自己好,对别人也好。
    JoeBreeze
        7
    JoeBreeze  
       2021-09-26 09:35:39 +08:00
    veoco
        8
    veoco  
    OP
       2021-09-26 11:24:31 +08:00
    @abersheeran requests 虽然用的多,但毕竟不是标准库啊......


    @nuistzhou requests 可不是标准库......不是我导入,是 DRF 用 import requests 导入。


    看来还是只有改名了,改项目代码问题小,主要是拿不准数据库里的情况。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5971 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 02:48 PVG 10:48 LAX 19:48 JFK 22:48
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86