小编kle*_*ell的帖子

在Ansible中,如何在文件末尾添加一行?

我希望这很简单.我正在使用这样的lineinfile模块:

- name: Update bashrc for PythonBrew for foo user
  lineinfile:
    dest=/home/foo/.bashrc
    backup=yes
    line="[[ -s ${pythonbrew.bashrc_path} ]] && source ${pythonbrew.bashrc_path}"
    owner=foo
    regexp='^'
    state=present
    insertafter=EOF
    create=True
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它fi用我的新行替换文件中的最后一行(而不是附加行).这会产生语法错误.

我的参数是否正确?我已经尝试将regexp设置为'^'''(空白).还有另一种方法可以解决这个问题吗?

我正在使用Ansible 1.3.3.

ansible

35
推荐指数
2
解决办法
4万
查看次数

在Java单元测试中,如何断言一个数字在给定范围内?

从Python开始使用Java.我知道这是非常基本的,但似乎还没有在这里提出这个问题,谷歌对我很腼腆.

在Python中,我只是做了类似这样的事情,但Java对象:

assertTrue(min <= mynum and mynum <= max);
Run Code Online (Sandbox Code Playgroud)

java junit

17
推荐指数
4
解决办法
3万
查看次数

在Ansible中,如何使用environment关键字?

我有一个安装PythonBrew的剧本.为此,我必须修改shell环境.因为Ansible中的shell步骤不是持久的,所以我必须在export PYTHONBREW_ROOT=${pythonbrew.root}; source ${pythonbrew.root}/etc/bashrc;每个与PythonBrew相关的命令的开头处添加前缀:

    - name: Install python binary
      shell: export PYTHONBREW_ROOT=${pythonbrew.root}; source ${pythonbrew.root}/etc/bashrc; pythonbrew install ${python.version}
        executable=/bin/bash

    - name: Switch to python version
      shell: export PYTHONBREW_ROOT=${pythonbrew.root}; source ${pythonbrew.root}/etc/bashrc; pythonbrew switch ${python.version}
        executable=/bin/bash
Run Code Online (Sandbox Code Playgroud)

我想消除那种冗余.在Ansible讨论组中,我被引用了environment关键字.我查看了文档中的示例,而不是单击我.对我来说,environment关键字与其他任何变量都没有太大的不同.

我找了其他的例子,但只能找到这个非常简单的例子.

有人可以演示environment关键字在Ansible中的功能,最好是我上面提供的代码示例吗?

ansible

13
推荐指数
1
解决办法
1万
查看次数

在Rails中弹出更新后无法运行迁移

我在运行任何迁移时遇到错误:

raj@notebook-pc:~/Desktop/Projects/invoicemanagement$ rails g migration RemoveDescriptionOfGoodsFromInvoiceDetails description_of_goods:string
Warning: You're using Rubygems 1.8.23 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
/var/lib/gems/1.9.1/gems/bundler-1.9.0/lib/bundler/runtime.rb:34:in `block in setup': You have already activated spring 1.3.3, but your Gemfile requires spring 1.3.2. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
    from /var/lib/gems/1.9.1/gems/bundler-1.9.0/lib/bundler/runtime.rb:19:in `setup'

    ** 11 stack trace lines skipped **

    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
Run Code Online (Sandbox Code Playgroud)

所以通过一些谷歌搜索我运行捆绑更新弹簧,它解决了上述错误,我能够删除/添加迁移.再次,如果我运行rake db:migrate,我收到错误:

rake aborted!
StandardError: An error has …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-migrations

13
推荐指数
1
解决办法
4799
查看次数

当我尝试将我的PHP应用程序部署到Google App Engine时,为什么我突然收到400错误?

运行deploy命令:

appcfg.py update ./appengine-project
Run Code Online (Sandbox Code Playgroud)

我开始看到这个错误:

Error 400: --- begin server output ---
PHP 5.4 applications are prevented from being deployed to Google App
Engine from any version of the SDK, including older ones. If you need
to continue to deploy PHP 5.4 applications for compatibility reasons, 
you can request that your application be whitelisted for PHP 5.4
deployment by visiting http://goo.gl/qjKEuk.
--- end server output ---
Run Code Online (Sandbox Code Playgroud)

我在本地运行PHP 5.5.我几天前就没有问题就部署了我的应用程序.

php google-app-engine

13
推荐指数
1
解决办法
2287
查看次数

现在不再维护KineticJS,我在哪里可以找到它的文档?

KineticJS的主动维护于201412月由其创始人停止.曾经在kineticjs.com网站上托管的文档现在返回404.

我在哪里可以找到文档的最新版本?

kineticjs konvajs

9
推荐指数
1
解决办法
3525
查看次数

可以将Pygame作为cronjob运行吗?

我希望这个问题本身并不荒谬.

我正在开发一款游戏.我已经从图形组件中分离出底层游戏引擎(在Python中).我有一个脚本可以模糊一些参数,使用游戏引擎模拟游戏的一部分,然后使用Pygame将其可视化.

我想自动执行以下过程:

  1. 将模拟作为cronjob运行
  2. 使用Pygame可视化(无头)
  3. 将可视化保存为短(~10秒)视频文件
  4. 以编程方式将视频上传到Youtube

理想情况下,我想每天做几次这样的事情,因此我的团队中的非技术成员可以观看视频并提供有关游戏视觉方面的反馈.

我想使用Pygame,因为我已经准备好了代码.但我怀疑我应该使用类似PIL的东西来创建一系列图像文件并从那里开始.

这可能与Pygame有关吗?我应该只使用PIL吗?完成这样的事情的任何其他想法?

python pygame

7
推荐指数
1
解决办法
594
查看次数

无法在Debian Squeeze上使用Pip安装Virtualenv

作为root用户,我正在尝试使用virtualenv目录设置运行Debian Squeeze的开发服务器.

我的计划是运行以下命令:

apt-get install python-pip
pip install pip --upgrade
pip install virtualenv
Run Code Online (Sandbox Code Playgroud)

但是,在最后一个命令中,我收到了以下错误,现在每当我运行pip时都会得到它:

Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    from pip.vcs import vcs, get_src_requirement, import_vcs_support
ImportError: cannot import name import_vcs_support
Run Code Online (Sandbox Code Playgroud)

谷歌在这个问题上几乎没什么可提供的.随后安装python-devbuild-essential,但问题仍然存在.

debian pip virtualenv

6
推荐指数
1
解决办法
9003
查看次数

当我从virtualenv运行nosetests时,为什么会出现"无效的命令nosetests"错误?

当我把它加载到Jenkins时,我首先注意到这个项目的问题.更令人费解的是,我已经能够重现如下:

在项目的原始版本中,以下命令按预期运行测试:

.venv/bin/python setup.py nosetests
Run Code Online (Sandbox Code Playgroud)

然后我做以下事情:

  1. 克隆项目:hg clone my-project my-project-clone
  2. .venv在克隆中创建virtualenv
  3. 从克隆的pip冻结文件安装需求

如果我然后运行.venv/bin/python setup.py nosetests此版本,我得到以下结果:

setup.py: error: Invalid command nosetests
Run Code Online (Sandbox Code Playgroud)

setup.py 包括以下设置:

setup_requires=[
    'nose>=1.0', 'nosexcover', 'coverage', 'selenium', 'fixture'
],
test_suite='nose.collector',
Run Code Online (Sandbox Code Playgroud)

我特别感到困惑,因为它setup.pysetup.cfg每个版本中的文件相同,并且就我所能看出来而言,环境是相同的.

附录

我在边栏中注意到这个Stack Overflow问题,它看起来非常相关,但是我提供的解决方案都没有.

python nose virtualenv

5
推荐指数
1
解决办法
2789
查看次数

5
推荐指数
1
解决办法
497
查看次数