attribute用法及搭配,attribute用法及例句
我不小心将python2.7的站点包添加到$PYTHONPATH中,并给出了查找污染固定的模块的顺序,以便在启动python3.9.1、python3.9.5虚拟环境时进行初始化卸载python2枚举模块,python3.9环境在查找枚举模块时可以找到python3的,python2使用枚举时创建并使用python2的虚拟环境;2、从$PYTHONPATH中删除包含python2枚举模块的站点包;
参考:https://blog . csdn . net/QQ _ 41185868/文章/详情/80599336
我的问题现象:
在将包含python2枚举模块的站点包路径添加到$PYTHONPATH之前,已成功激活python3.9.5环境,并且导入的枚举模块是检测到的python3.9版本
hay pin @ haypinsmbp~source~/.zshrchaypin @ haypinsmbp ~ echo $ python path/users/hay pin/.本地/ROS/动力/配送包shay pin @ haypinsmbp至python -版本python3.9. 1hay pin @ haypinsmbp至python python3.9.1(默认,06:28:49(【铿锵10。0 .0]:达温街3360号anaconda公司有关详细信息,请键入“帮助”、“版权”、“致谢”或"许可证"错误地将包含python2的列举型别模块的站点包路径/users/hay pin/.本地/库/python 2.7/分发包导入python3.9. 1枚举模块时,将首先检测到/users/hay pin/.本地/库/python 2.7/分发包
hay pin @ haypinsmbp ~ echo $ python path/users/hay pin/.local/ROS/kinetic/lib/python 2.7/dist-packages 3360/PPP users/hay pin/.local/lib/python 2.7/dist-package shay pin @ haypinsmbp ~ python-version python 3。9 .1干草针@ haython 06:28:49([铿锵声10。0 .0]:达温街3360号anaconda公司有关详细信息,请键入“帮助”、“版权”、“致谢”或“许可证”.local/lib/python2_ _ init _ _ .py枚举。intflagtraceback(mostrecentcalllast):文件“标准输入”,第一行,inmoduleattributeerror:模块"枚举"没有属性“int flag”出口(hay pin @ haypinsmbp ~ condaactivatepy 3。9 .5传统
,第12行,在模块中从conda.cli导入主文件/Users/hay pin/miniconda 3/lib/python 3.9/site-packages/conda/_ _ init _ _ . 1 py ,第11行,在模块中从数据导入JSONEncoder文件/Users/hay pin/miniconda 3/lib/python 3.9/JSON/_ _ init _ _ .py ,第106行,在模块中。解码器导入jsondecoderer,JSONDecodeError文件/Users/hay pin/mini conda 3/lib/python 3.9/JSON/decoder。py ,模块导入是文件/Users/hay pin/mini conda 3/lib/python 3.9/re。py 中第3行,模块类RegexFlag(枚举)中第145行int flag):属性错误:模块"枚举"没有属性“国际旗帜”干草别针@ haypinsmbp~列出python2的包,的确如https://blog.csdn.net/qq_41185868/article/details/80599336所说是enum34模块的锅:
hay pin @ haypinsmbp~python 2-m pip list grep enum弃用:python 2.7于2020年一月一日走到了生命的尽头。请升级您的Python,因为不再维护Python 2.7 .pip 21.0将在2021年一月停止对Python 2.7的支持。有关点中Python 2支持的更多详细信息,请访问https://匹普。派帕。io/en/latest/development/release-process/# Python-2-支持pip 21.0将删除对此功能的支持目录系统自带的python2.7内建安装有enum34包,不敢卸载掉这个:
干草针@ haypinsmbp~python 2警告:不推荐Python 2.7 .苹果中包含此版本是为了与传统软件兼容。未来版本的苹果将不包含Python 2.7 .相反,建议您从"终端"过渡到使用“蟒蛇3号”.Python 2.7.16(默认,2021年3月25日03:11:28)[合同通用条款4.2.1兼容苹果LLVM 11。0 .3(铿锵-1103。0 .29 .20)(-MAC OS 10.15-objc-关于达尔文式的“帮助”,“版权”,“信用”或许可证了解更多信息。导入枚举枚举_ _ file _ _ /系统/库/框架/python。framework/Versions/2.7/Extras/lib/python/enum/_ _ init _ _ .pyc 出口()要卸载的是/Users/haypin/.本地/库/python 2.7/分发包/枚举中的enum34模块,我直接重命名了:
haypin@HaypinsMBP ~/.本地/库/python 2.7/dist-packagesls-l grep枚举-rw-r-r-1根工作人员29087 1 23 2016 enum 34-1。1 .2 .egg-infodrwxr-xr-x 8根staff 256 3 27 18:26 enum _ 0723 rename _ from _ enum hay pin @haypinsmbp~/。本地/库/python 2.7/分布式-软件包此时既使将/Users/haypin/.本地/库/python 2.7/分发包/添加到$PYTHONPATH,python3.9导入列举型别模块时也会首先查找到python3.9的枚举,问题解决:
haypin@HaypinsMBP ~ 回声$python path/users/hay pin/.local/ROS/kinetic/lib/python 2.7/dist-packages:/Users/hay pin/柳絮_ ws/devel/lib/python 2.7/dist-packages:/Users/hay pin/.本地/lib/python 2.7/dist-packages hay pin @ haypinsmbp~python-version python 3。9 .1干草针@ haypinsmbp~python蟒蛇3。9 .1(默认,2020年1 2月11日(铿锵10。0 .darwintype上的anaconda公司键入帮助,版权,致谢或许可证了解更多信息。导入枚举枚举_ _ file _ _ /users/hay pin/minicon da3/lib/python 3.9/enum。py exit()干草针@ haypinsmbp~康达激活py 3。9 .5(py 3。9 .5)干草针@ haypinsmbp~康达停用这本质上是$PYTHONPATH中添加了不同大蟒解释器版本的同名列举型别模块(python2的enum34,python3的枚举)的路径导致按$PYTHONPATH顺序查找并加载到了错误版本的列举型别模块。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。