TL;DR:在运行python安装程序时,有没有一种方法可以钩住setuptool的“develope”来安装一组开发需求。py开发
?
我正在使用setupols构建我的第一个python包。我将要求指定为:
requirements = [
'click',
'ansible',
'fabric',
'gitpython',
'pyyaml',
'jinja2',
'yapsy'
]
test_requirements = [
'pytest',
'pytest-pep8',
'pytest-cov',
]
setup(
...
install_requires=requirements,
tests_require=test_requirements,
...
)
在开发过程中,我一直在安装软件包(在虚拟环境中),其中包括:
python setup.py develop
和卸载:
python setup.py develop -u
这个包使用entry_points来安装一些命令行脚本,所以这为我设置了命令,并允许我在测试命令的同时编辑这个包。
我还有一些用于开发的依赖项。。。sphinx扩展和其他一些东西(使用包不需要的东西)。我现在只是在虚拟环境中手动安装它们。我没有看到任何关于如何使用setuptools连接它们的文档(也没有在谷歌上找到任何示例)。
也许有一种方法可以勾住“设置”。py“开发”以安装一组附加要求?还有一种方法我没读过?
有关使用设置的更多信息。py
vs要求。txt,我发现这篇文章很有帮助。
我不再使用
要求。txt
(参见下面的原始答案)用于安装仅限开发的软件包。流行的观点似乎是需求。txt应用于将部署固定到特定版本号,通常使用
pip冻结
我改为使用
extras\u require
选项设置。
requirements = [
'click',
'ansible',
'fabric',
'gitpython',
'pyyaml',
'jinja2',
'yapsy'
]
setup({
install_requires=requirements,
extras_require={
'dev': [
'pytest',
'pytest-pep8',
'pytest-cov'
]
}
})
现在,要安装用于开发的软件包,您需要运行
pip install-e。[dev]
。这将安装所有常规必需的软件包以及extras\u require
的dev
部分中列出的软件包。
生产安装仍然可以使用
python安装程序完成。py安装
或pip安装
(或使用
requirements.txt
文件)。
下面是一种方法,它似乎符合我遇到的关于
设置的建议。py
vs要求。txt
。在setup的
。install\u requires
参数中指定所有生产依赖项。py
requirements = [
'click',
'ansible',
'fabric',
'gitpython',
'pyyaml',
'jinja2',
'yapsy'
]
setup({
# ...
install_requires=requirements
# ...
})
然后创建一个
requirements.txt
文件,指示pip从setup.py
安装生产依赖项以及测试依赖项。
-e .
pytest
pytest-pep8
pytest-cov
现在,您可以使用pip安装-rrequirements.txt安装您的开发包。
-e.
行将在开发模式下从setup.py
安装包及其依赖项。要在生产环境中安装,您可以使用Pythonsetup.py安装或pip安装。这将只安装setup.py
中列出的依赖项。
测试是 Web 应用开发过程中不可获缺的工作。Nuxt.js 尽量帮助你简化这部分工作。 端对端测试 ava 是一个很强大的 JavaScript 测试框架,结合 jsdom,我们就可以轻松地给 nuxt 应用进行端对端测试。 首先,我们需要添加 ava 和 jsdom 作为项目的开发依赖: npm install --save-dev ava jsdom 然后在 package.json 中添加
第三方 SDK C#: v2ray-dotnet-sdk 自动化工具 V2Ray 使用下列自动化工具进行编译和发布。 Bazel: 用于编译和打包。 Azure DevOps: 用于部分项目的自动化发布。 Google Cloud: 用于部分项目的自动化发布。 CloudFlare: 用于支持官网和域名解析。
剖析性能 使用 Devel::NYTProf,或 Devel::DProf。 分析代码质量 使用 Perl::Critic,它基本上是针对 Perl 的 lint。 分析变量结构 使用 Data::Dumper。
俗话说“工欲善其事必先利其器”,我们开发程序也是一样,开发工具对于我们开发来说用好了能够成倍的提高我们的开发效率,虽然Go的语法简单至极,但是如果有自动化提示,这将会大大的提高我们的开发效率。这一章我将给大家介绍两个目前来说开发Go非常强大而方便的工具:LiteIDE和Sublime Text。LiteIDE是国内牛人开发的一款开发Go的利器,里面很多功能都是非常方便和强大的。Sublime Te
Git https://skyao.gitbooks.io/learning-git/installation/ubuntu1604.html sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git gitbook https://skyao.gitbooks.io/leaning-
主要内容:常用源码编辑工具介绍,集成开发工具介绍本节介绍一下 Java 常用的几个开发工具。下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给 Java 编码和开发提供卓越的支持。 常用源码编辑工具介绍 Java 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。比如:Windows 记事本,Mac OS X 下的文本编辑,Linux 下的 vi