使用distutils、setuptools等,在setup.py中指定包版本:#file:setup.py...setup(name='foobar',version='1.0.0',#otherattributes)我希望能够从包中访问相同的版本号:>>>importfoobar>>>foobar.__version__'1.0.0'我可以将__version__='1.0.0'添加到我的包的__init__.py中,但我还想在我的包中包含其他导入以创建包的简化接口(interface):#file:__init__.pyfromfoobarimportfoofromfoobar.
我想使用tox在两个virtualenvs中运行我的单元测试,因为我的应用程序必须支持2个不同的Python版本。我的问题是tox需要setup.py,但我没有,因为我的应用程序不是模块并且有自己的安装程序。现在我不想经历自动化安装过程以使用setup.py的麻烦,我只想运行我的单元测试而不必编写setup.py.这可能吗?或者我怎么能写一个什么都不做的“空”setup.py?你能指出一些关于这个主题的文档吗(distutils文档解释了如何编写有意义的setup.py,而不是空的)? 最佳答案 在深入研究源代码后,我在tox.in
我开始使用Python。我已将requirements.txt和setup.py添加到我的项目中。但是,我仍然对这两个文件的目的感到困惑。我读过setup.py是为可再发行的东西而设计的,而requirements.txt是为不可再发行的东西而设计的。但我不确定这是否准确。这两个文件的真正用途是什么? 最佳答案 requirements.txt:这可以帮助您设置开发环境。pip之类的程序可用于一举安装文件中列出的所有软件包。之后,您可以开始开发您的python脚本。如果您计划让其他人参与开发或使用虚拟环境,则特别有用。这就是你使用它
我正在创建一个setup.py依赖于私有(private)GitHub存储库的项目的文件。文件的相关部分如下所示:fromsetuptoolsimportsetupsetup(name='my_project',...,install_requires=['public_package','other_public_package','private_repo_1','private_repo_2',],dependency_links=['https://github.com/my_account/private_repo_1/master/tarball/','https://gi
通过以下命令使用Conda在requirements.txt中安装包时condainstall--yes--filerequirements.txt如果requirements.txt中的包不可用,则会引发“无包错误”,如下所示:UsingAnacondaCloudapisitehttps://api.anaconda.orgFetchingpackagemetadata:....Error:Nopackagesfoundincurrentlinux-64channelsmatching:nimfa==1.2.3Youcansearchforthispackageonanaconda.
我正在尝试使用六个将python2包移植到python3(不是我自己的),以便它与两者兼容。但是,requirements.txt中列出的软件包之一现在包含在python3标准库中,并且pypi版本在python3中不起作用,所以我想有条件地排除它。在setup.py中执行此操作很简单,我可以执行以下操作:ifsys.version_info[0]==2:requirements+=py2_requirementselse:requirements+=py3_requirements但我希望requirements.txt也能反射(reflect)正确的列表。我在pip文档中找不到任何
学习本页后:http://docs.python.org/distutils/builtdist.html我希望能找到一些setup.py文件来研究,以便自己制作(目标是制作一个fedorarpm文件)。s.o.可以吗?社区为我指出了一些好的例子? 最佳答案 编写setup.py脚本的完整演练here.(有一些例子)如果您想要一个真实的示例,我可以向您介绍几个主要项目的setup.py脚本。Django是here,pyglet是here.您可以浏览其他项目的源代码以获取名为setup.py的文件以获取更多示例。这些不是简单的例子;我
我们为twitter应用程序编写了一个小包装器,并将此信息发布到http://pypi.python.org.但是setup.py只包含一个用于指定电子邮件/作者姓名的字段。我如何在以下字段中指定多个贡献者/电子邮件列表,因为我们希望这个包以我们的名字列出,与它在http://rubygems.org中的显示方式非常相似.author='foo',author_email='foo.bar@gmail.com', 最佳答案 据我所知,setuptools不支持使用字符串列表来指定多个作者。最好的办法是在一个字符串中列出作者:auth
我试图弄清楚如何让pythonsetup.pytest运行相当于python-munittestdiscover。我不想使用run_tests.py脚本,也不想使用任何外部测试工具(如nose或py.test)。如果该解决方案仅适用于python2.7就可以了。在setup.py中,我想我需要在配置中的test_suite和/或test_loader字段中添加一些内容,但我可以'似乎找不到正确的组合:config={'name':name,'version':version,'url':url,'test_suite':'???','test_loader':'???',}这是否可能只
任何人都可以在编写测试用例时解释Python的setUp和tearDown方法的使用,除了在调用测试之前立即调用setUp方法和tearDown在被调用后立即被调用? 最佳答案 通常,您将所有先决步骤添加到setUp,并将所有清理步骤添加到tearDown。您可以阅读更多示例here.WhenasetUp()methodisdefined,thetestrunnerwillrunthatmethodpriortoeachtest.Likewise,ifatearDown()methodisdefined,thetestrunnerw