我正在按照python3中的面向对象模型为我的公司开发一个相当复杂的应用程序。该应用程序包含多个包和子包,每个包和子包当然都包含一个__init__.py模块。我主要使用那些__init__.py模块为其中的包声明泛型类,它们仅用作各自包的抽象模板。我现在的问题是:这是使用__init__.py模块的“不错”/“正确”/“pythonic”方式吗?或者我宁愿在其他地方声明我的泛型类?举个例子,我们假设一个包mypkg:mypkg.__init__.py:classFoo(object):__some_attr=Nonedef__init__(self,some_attr):self._
我在Windowsxp上安装了Anaconda32.3.0。它应该是lastversionofanacondatosupportwindowsxp因为它包含python3.4.3,而python3.4.x是支持windowsxp的最后一个python版本。安装包时用condainstall,其依赖项之一是将conda更新为conda4.x。运行condainstall时,conda4.x在命令行中崩溃。这使anaconda无法使用,我卸载了anaconda。我的问题是,是否可以锁定包的版本?对于这两个用例:锁定并忘记:对于我不想让它们更新的包,我需要运行一个命令来锁定它们一次,这样它们
一些有用的Python包在pypi上被破坏了,唯一可接受的版本是版本控制系统中的特定版本。可以在setup.py中表达吗?例如requires='svn://example.org/useful.package/trunk@1234'? 最佳答案 你需要做两件事。首先,需要您想要的确切版本,例如:install_requires="useful.package==1.9dev-r1234"然后包含一个dependency_links设置指定在哪里找到它:dependency_links=["svn://example.org/use
我正在使用pythonAnaconda。我很困惑哪个是将所有Anaconda软件包更新到最新版本的正确命令。似乎有2个命令可以使用;$condaupdate--all或$condaupdateanaconda运行后者后,anaconda升级到ver4.4。随后,我运行前者,询问我是否要降级某些软件包。这就是让我困惑的地方。使用哪个命令是正确的? 最佳答案 anaconda包是一个“元”包,这意味着它本身不包含任何包,它只是设置了AnacondaInc.(以前是ContinuumIO)包含在“Anaconda发行版”中。因此,当您键入
我希望某个模块的接口(interface)包含一定数量的函数和类(仅此而已)。我可以在一个文件中实现所有这些,并且很容易获得我想要的界面。但是因为有很多代码,我宁愿把整个东西分成几个文件,比如说mypackage/__init__.pya.pyb.pyc.pyd.py无论如何,为了获得所需的接口(interface),我为从a、b导入所有公共(public)符号的包定义了一个__init__.py文件,c和d:fromaimportfunc_a1,func_a2,ClassA1,ClassA2frombimportfunc_b1,func_b2,ClassB1,ClassB2fromc
我现在在Python包索引(PyPI)上有几个包。有什么方法可以统计它们被下载的次数(手动或通过easy_install或pip?或者,或者,主包页面收到了多少次浏览? 最佳答案 至少有两个包可以帮助解决这个问题:pypstats和vanity.从命令行使用Vanity非常容易:vanitynumpy然后您将在控制台上打印输出。 关于python-PyPI包的安装统计数量?,我们在StackOverflow上找到一个类似的问题: https://stackov
我现在在Python包索引(PyPI)上有几个包。有什么方法可以统计它们被下载的次数(手动或通过easy_install或pip?或者,或者,主包页面收到了多少次浏览? 最佳答案 至少有两个包可以帮助解决这个问题:pypstats和vanity.从命令行使用Vanity非常容易:vanitynumpy然后您将在控制台上打印输出。 关于python-PyPI包的安装统计数量?,我们在StackOverflow上找到一个类似的问题: https://stackov
来自NamespacePackagesindistribute,我知道我可以利用命名空间包将一个大的Python包分成几个较小的包。这真的很棒。该文件还提到:Note,bytheway,thatyourproject’ssourcetreemustincludethenamespacepackages’__init__.pyfiles(andthe__init__.pyofanyparentpackages),inanormalPythonpackagelayout.These__init__.pyfilesmustcontaintheline:__import__('pkg_reso
来自NamespacePackagesindistribute,我知道我可以利用命名空间包将一个大的Python包分成几个较小的包。这真的很棒。该文件还提到:Note,bytheway,thatyourproject’ssourcetreemustincludethenamespacepackages’__init__.pyfiles(andthe__init__.pyofanyparentpackages),inanormalPythonpackagelayout.These__init__.pyfilesmustcontaintheline:__import__('pkg_reso
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion场景:您有一个长元组作为SQL查询的结果,并希望将其解压缩为单个值。在符合PEP8的同时做到这一点的最佳方法是什么?到目前为止,我有以下三种选择:单次赋值,使用反斜杠分割成多行person_id,first_name,last_name,email,\birth_date,graduation_year,home_street,\home_city,home_zip,mail_street