TL; DR:有没有办法在运行时挂起setuptool的'develop'来安装一组开发需求python setup.py develop?
我正在使用setuptools构建我的第一个python包.我将要求指定为:
requirements = [
'click',
'ansible',
'fabric',
'gitpython',
'pyyaml',
'jinja2',
'yapsy'
]
test_requirements = [
'pytest',
'pytest-pep8',
'pytest-cov',
]
setup(
...
install_requires=requirements,
tests_require=test_requirements,
...
)
Run Code Online (Sandbox Code Playgroud)
在开发过程中,我一直在安装软件包(在虚拟环境中):
python setup.py develop
Run Code Online (Sandbox Code Playgroud)
并卸载:
python setup.py develop -u
Run Code Online (Sandbox Code Playgroud)
该软件包使用entry_points来安装一些命令行脚本,因此这为我设置了命令,并允许我在同时测试命令时编辑软件包.
我还有一些用于开发的依赖项... sphinx +扩展和其他一些东西(使用该包不需要的东西).我现在只是在虚拟环境中手动安装它们.我没有看到任何关于如何使用setuptools连接它们的文档(并且没有在googles上找到任何示例).
也许有办法挂钩'setup.py develop'来安装一组额外的要求?另一种方法我还没读过?
我正在寻找一种方法(使用python)从本地网络上的设备获取第二层地址.第三层地址是已知的.
目标是构建一个脚本,定期轮询IP地址数据库,确保mac地址没有改变,如果有,则向我自己发送电子邮件警报.
我试图关闭合成中的一些消息.
例如,SC20148在bash文件中(它抱怨没有shebang).
查看完文档后,似乎可能通过以下方式完成:
let g:synstatic_quiet_messages = {
\ 'type': 'syntax',
\ 'regex': 'SC20148' }
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不起作用.如何关闭特定消息?
我正在研究互动的小脚本.我正在尝试启动tmux既指定命令(以便在进程退出tmux会话时退出)并使用配置文件 - 但似乎不可能.
tmux new-session -d -s myapp 'python myapp.py' -f 'myapp-tmux.conf'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有一个包含并标记各种角色的剧本:
- name: base
hosts: "{{ host | default('localhost') }}"
roles:
- { role: apt, tags: [ 'base', 'apt', 'ubuntu']}
- { role: homebrew, tags: [ 'base', 'homebrew', osx' ]}
- { role: base16, tags: [ 'base', 'base16', 'osx' ]}
- { role: nodejs, tags: [ 'base', 'nodejs' ]}
- { role: tmux, tags: [ 'base', 'tmux' ]}
- { role: vim, tags: [ 'base', 'vim' ]}
- { role: virtualenv, tags: [ 'base', virtualenv', 'python' ]}
- { role: …Run Code Online (Sandbox Code Playgroud) 有没有人有一个自动运行'subasks'的解决方案?
我是gulp的新手,目前正在构建我的gulp文件,如下所示:
gulp.task('build:ccss', function(cb) {
...
}
gulp.task('build:js', function(cb) {
...
}
gulp.task('build:img', function(cb) {
...
}
gulp.task('build:index', function(cb) {
...
}
Run Code Online (Sandbox Code Playgroud)
然后我明确定义基本任务并让它执行子任务:
gulp.task('build', ['build:scss', 'build:js', 'build:img', 'build:index']);
Run Code Online (Sandbox Code Playgroud)
我将这种结构用于几个"小组"任务:清洁,建筑,掉毛.
我很好奇是否有人在运行基本任务时有自动执行子任务的解决方案,而没有像我一样创建明确的定义.
首先让我说我已经对过去一周的过程进行了广泛的研究,但还没有找到这些问题的实际答案 - 只是一些模糊的答案并没有真正解释正在发生的事情.如果这只是因为我错过了我想要的东西,我很抱歉 - 请指出我正确的方向.
我的目录结构是:
TestProject/
runtest*
testpackage/
__init__.py
testmod.py
testmod2.py
testsubs/
testsubmod.py
Run Code Online (Sandbox Code Playgroud)
几个笔记:
我观察到的事情:
问题是:
提前致谢.
我提前道歉 - 我并不完全理解我所要求的理念背后的理念,以便理解为什么它不起作用(我不知道我需要学习什么).我首先在堆栈交换中搜索了答案 - 我发现了一些似乎可能相关的信息,但没有充分解释这些概念,我理解如何构建一个可行的解决方案.我一直在谷歌搜索,但没有找到任何信息,以我理解的方式描述究竟发生了什么.任何可能帮助我了解正在发生的事情的背景概念的方向将非常感激.
是否可以在从管道执行的bash脚本中获取用户输入?
例如:
wget -q -O - http://myscript.sh | bash
Run Code Online (Sandbox Code Playgroud)
并在脚本中:
read -p "Do some action (y/n): " __response
if [[ "$__response" =~ ^[Yy]$ ]]; then
echo "Performing some action ..."
fi
Run Code Online (Sandbox Code Playgroud)
据我所知,这不起作用,因为读取stdin和bash脚本的读取尝试当前正在"通过该管道执行"(我确信有一种更技术更准确的方式来描述正在发生的事情,但是我不知道怎么样).
我找到了推荐使用的解决方案:
read -t 1 __response </dev/tty
Run Code Online (Sandbox Code Playgroud)
但是,这也不起作用.
任何关于我需要理解的概念以使其发挥作用的任何亮点,或解释为什么它不起作用或解决方案将不胜感激.
在vim中,通常的做法是将textwidth设置为78而不是(正如我所期望的)80个字符.我到处都看到了这一点(帮助页面,模型,vimrcs等).
只是好奇,有谁知道这是为什么?
编辑:我理解设置80个字符的textwidth的原点/推理.只是好奇为什么通常的做法是将宽度设置为2个字符小于80.
我试图了解 zsh 模块是如何加载的。根据文档:
zsh 的一些可选部分位于模块中,与 shell 的核心分开。这些模块中的每一个都可以在构建时链接到 shell,或者如果安装支持此功能,则可以在 shell 运行时动态链接。模块在运行时使用 zmodload 命令链接。
如果我启动一个新的 shell 并运行命令,zmodload它将显示当前加载的模块(zsh/datetime未加载)。
我可以使用在运行时加载它zmodload zsh/datetime。如果我再次运行zmodload,我可以看到它现在已列出。
但是,当我像这样执行脚本时,找不到 zmodload 命令:
%./testload.zsh
#!/usr/bin/env zsh
zmodload zsh/datetime
echo "EPOCHSECONDS: $EPOCHSECONDS"
./testload.zsh: line 3: zmodload: command not found
Run Code Online (Sandbox Code Playgroud)
但是,如果我在调用新的 zsh shell 时执行脚本,它将成功运行:
% zsh testload.zsh
#!/usr/bin/env zsh
zmodload zsh/datetime
echo "EPOCHSECONDS: $EPOCHSECONDS"
EPOCHSECONDS: 1501004101
Run Code Online (Sandbox Code Playgroud)
知道为什么会发生这种行为吗?
python ×3
vim ×3
ansible ×1
bash ×1
command ×1
gulp ×1
ip-address ×1
javascript ×1
mac-address ×1
module ×1
node.js ×1
package ×1
pipe ×1
requirements ×1
setuptools ×1
stdin ×1
syntastic ×1
tags ×1
tmux ×1
wget ×1
zsh ×1