草庐IT

pep8-checker

全部标签

python - 如何从 setup.py 中抑制 PEP440Warning?

我正在运行pythonsetup.py或python3setup.py,它为我提供了PEP440Warning的不相关包,我不会去修复:/usr/lib/python3/dist-packages/pkg_resources/__init__.py:2512:PEP440Warning:'python-apt(0.9.3.11build1)'isbeingparsedasalegacy,nonPEP440,version.Youmayfindoddbehaviorandsortorder.Inparticularitwillbesortedaslessthan0.0.Itisrecom

python - pip3 setup.py install_requires PEP 508 私有(private)仓库的 git URL

我正在尝试运行:pip3install-e.在我的Python项目中,我有以下setup.py:fromsetuptoolsimportsetupsetup(name='mypackage',install_requires=["anotherpackage@git+git@bitbucket.org:myorg/anotherpackage.git"])但它失败了:errorinmypackagesetupcommand:'install_requires'mustbeastringorlistofstringscontainingvalidproject/versionrequir

python - docstring max line-length 是否与正常的 PEP8 标准不同?

所以我查看了一些代码,并在pylint的帮助下将其提升到PEP8标准,我注意到如果我在打印语句中使用三引号,其中文本超过120个字符(我们允许120而不是79)pylint没有提示。这是pylint中的一个错误吗?三重引号中的字符串,因为您可能希望以这种方式格式化它们?为清楚起见:是的,pylint在所有其他超过行长度的情况下正常工作。 最佳答案 经常使用pylint,我也注意到了这种不一致。在MaximumLineLengthsectionofPEP8,它说:Therefore,pleaselimitalllinestoamaxi

python - 如何处理长路径名以符合 pep8 要求?

为了符合pep8,我将如何处理如下所示的长路径名称?即使变得有些不可读,是否必须每行79个字符?defsetUp(self):self.patcher1=patch('projectname.common.credential.CredentialCache.mymethodname') 最佳答案 有多种方法可以做到这一点:用一个变量来存储这个defsetUp(self):path='projectname.common.credential.CredentialCache.mymethodname'self.patcher1=pa

python - 与 bool numpy 数组 VS PEP8 E712 的比较

PEP8E712要求“与True的比较应该是ifcondisTrue:或ifcond:”。但如果我遵循此PEP8,我会得到不同/错误的结果。为什么?In[1]:frompylabimport*In[2]:a=array([True,True,False])In[3]:where(a==True)Out[3]:(array([0,1]),)#correctresultswithPEPviolationIn[4]:where(aisTrue)Out[4]:(array([],dtype=int64),)#wrongresultswithoutPEPviolationIn[5]:where(

python - 为什么 pep8 建议在评论中使用两个空格?

PEP-8状态:Youshouldusetwospacesafterasentence-endingperiod.在我平时的重构中,我习惯用一个空格代替这种连续的双空格,以为这个习惯是从打字机时代来的(我简略过thisWikipediapage)。此外,大多数时候我都看到用于编程的单空格字体,因此它比其他有时需要2个空格才能轻松识别句子的情况更清晰。在PEP-8中使用它背后有什么原因吗? 最佳答案 只有PEP的作者才能肯定地回答“为什么”。我看过standardlibrarysourcecode,我的结论是风格指南的这一特定方面并未

python - PEP 3103 : Difference between switch case and if statement code blocks

在PEP3103,Guido正在与各种思想流派、方法和对象讨论向Python添加switch/case语句。因为他使thisstatement:Anotherobjectionisthatthefirst-useruleallowsobfuscatedcodelikethis:deffoo(x,y):switchx:casey:print42Totheuntrainedeye(notfamiliarwithPython)thiscodewouldbeequivalenttothis:deffoo(x,y):ifx==y:print42butthat'snotwhatitdoes(unl

python - 无法通过不合逻辑的行 pep8 错误

我已经尝试解决这个问题一段时间了,但我就是无法让它通过pep8。这是我的代码:1.if(len(regex)>2andregex[0]=='('andregex[-1]==')'andsum(regex.count(char)forcharinsplitter)==1andregex.count('(')==1andregex.count(')')==1):print('hi')2.if(len(regex)>2andregex[0]=='('andregex[-1]==')'andsum(regex.count(char)forcharinsplitter)==1andregex.c

python - 当类实现 PEP 3118 时,Python 2.7 中 PyBufferProcs 的定义

我正在扩展我们库中的类(支持Python2.7)以支持PEP3118,这已经向后移植到2.7。根据文档,我需要初始化tp_as_buffer字段指向一个PyBufferProcs。然而,从2.7的文档中,thedescriptionofthisstructure只包含旧条目缓冲协议(protocol)。从消息来源来看,我gather那PyBufferProcs有一些新协议(protocol)的附加条目(bf_getbuffer和bf_releasebuffer)。问题仍然存在:我是否必须做一些特殊的事情来告诉Python这些新条目有效吗?我是否必须填写旧协议(protocol)的条目?

python - 在 Github 提交中强制执行 PEP-8'ish 格式

是否有任何预制解决方案可以在Git提交Hook中强制执行良好的Python标准?有没有办法在本地checkout(类似于Bazaar,可以将提交Hook推送给客户端)中自动化此过程?当您checkout一个repo时,它应该已经安装了提交Hook,无需运行进一步的工作/命令就足够了。例如如果您的.py文件有一个选项卡,提交将中止并发送一个机器人来打开发人员的屁股。 最佳答案 2020年更新:8年后,您将使用GitHubActions,比如github/super-linter.我在“HowtosetupactionsinGitHub