小编aqu*_*tae的帖子

docker-仅限于某些容器

我有一个docker-compose.yml包含几个容器.其中三个用于我的应用程序(客户端,服务器和数据库),其余用于各种开发工具(例如psql,npm,manage.py等).当我做docker-compose up所有这些都开始了,但我只想要三个主要的开始.由于我已经指定了链接,我可以docker-compose up client从这三个开始,但是输出只来自那个容器.那么,有没有办法做到以下其中一种:

  1. 告诉docker-compose应该启动哪些容器 docker-compose up
  2. 从中获取所有链接容器的输出 docker-compose up client

docker docker-compose

106
推荐指数
6
解决办法
8万
查看次数

如何在身份验证代理后面的窗口上使用pip

我的计算机在Windows服务器上运行Windows后面的窗口(使用活动目录),我无法弄清楚如何通过它pip(在python3中).我尝试过使用--proxy,但它仍然只是超时.我也试过设置一个长时间超时(60s),但这没有任何区别.我的代理设置是正确的,我将它们与我在TortoiseHG中成功使用的设置进行了比较以确保.

是否还有其他任何人都知道我可以尝试的技巧,或者pip对于Windows代理有什么限制吗?

更新:我失败的尝试涉及搜索pypi.我刚尝试安装一些东西,但它确实有效.但搜索仍然失败.这是否表示存在错误pip或者它们的工作方式不同?

python authentication proxy pip

78
推荐指数
5
解决办法
17万
查看次数

requirements.txt取决于python版本

我正在尝试使用六个将python2包移植到python3(不是我自己的),以便它与两者兼容.但是,requirements.txt中列出的一个软件包现在包含在python3 stdlib中,而pypi版本在python3中不起作用,所以我想有条件地排除它.在setup.py中这样做很容易,我可以这样做:

if sys.version_info[0] == 2:
    requirements += py2_requirements
else:
    requirements += py3_requirements
Run Code Online (Sandbox Code Playgroud)

但是我希望requirements.txt能够反映出正确的列表.我在pip文档中找不到任何相关内容.所以有人知道怎么做,或者甚至可能吗?

python pip

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

Ember CLI测试复杂的模型关系

据我所知,在ember CLI中测试ember-data模型时,必须列出所有关系needs.如果结构简单,这很好,但在许多情况下会有多个层.

例如,如果设置了模型,并定义了以下关系:

Model a:
   belongsTo: b
   belongsTo: c

Model b:
   hasMany: a
   hasMany: d

Model c:
   hasMany: a
   belongsTo: e

Model d:
   hasMany b

Model e:
   hasMany c
Run Code Online (Sandbox Code Playgroud)

然后,对于任何这些模型的每个单元测试都将需要列出的所有其他模型needs,例如:A测试c:

needs: [
    'model:a' // Because c -> a
    'model:e' // Because c -> e
    'model:b' // Because c -> a -> b
    'model:d' // Because c -> a -> b -> d
]
Run Code Online (Sandbox Code Playgroud)

14个模型的实际配置要复杂得多,每个模型间接与其他模型相关.

我的理解是否正确?有更有效的方法吗?或者有一个很好的理由这样做我错过了吗?

unit-testing ember.js ember-data ember-cli

54
推荐指数
1
解决办法
899
查看次数

模板字符串中的数字格式(Javascript - ES6)

我想知道是否可以格式化Javascript模板字符串中的数字,例如:

var n = 5.1234;
console.log(`This is a number: $.2d{n}`);
// -> 5.12
Run Code Online (Sandbox Code Playgroud)

或者可能

var n = 5.1234;
console.log(`This is a number: ${n.toString('.2d')}`);
// -> 5.12
Run Code Online (Sandbox Code Playgroud)

这种语法显然不起作用,它只是我正在寻找的事物类型的一个例子.

我知道像sprintffrom underscore.string这样的工具,但这似乎是JS应该能够开箱即用的东西,特别是考虑到模板字符串的强大功能.

编辑

如上所述,我已经知道第三方工具(例如sprintf)和自定义功能.类似的问题(例如,相当于printf/String.Format的JavaScript)根本没有提到模板字符串,可能是因为在ES6模板字符串出现之前就被问过了.我的问题是针对ES6的,并且与实施无关.我很高兴接受一个答案"不,这是不可能的",如果是这样的话,但是最好的是有关提供此功能的新ES6功能的信息,或者是否有关于此功能是否在其上的一些信息办法.

javascript string-formatting ecmascript-6 template-strings

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

Windows 3中的Python 3中的PyGObject

有谁知道是否可以在Windows 3上安装PyGObject/Gtk + 3?我在gnome的网站上找到了Python 2(这里)的安装程序,以及几个与Python 3一起工作的语句(例如这里),但没有安装程序.编译说明似乎都使用jhbuild,从我可以看出来的是一个linux工具.我是否需要编译PyGObject才能使其正常工作,如果是这样,怎么做?或者有更简单的方法吗?什么是伟大的指南或指南,但这样的ting似乎并不存在.

python windows installer pygobject python-3.x

17
推荐指数
2
解决办法
5541
查看次数

PEP 412会使__slots__多余吗?

在Python 3.3中实现的PEP 412引入了对属性字典的改进处理,有效地减少了类实例的内存占用. __slots__是为了相同的目的而设计的,那么使用它还有什么意义__slots__吗?

为了自己找出答案,我运行了以下测试,但结果没有多大意义:

class Slots(object):
    __slots__ = ['a', 'b', 'c', 'd', 'e']
    def __init__(self):
        self.a = 1
        self.b = 1
        self.c = 1
        self.d = 1
        self.e = 1  

class NoSlots(object):
    def __init__(self):
        self.a = 1
        self.b = 1
        self.c = 1
        self.d = 1
        self.e = 1
Run Code Online (Sandbox Code Playgroud)

Python 3.3结果:

>>> sys.getsizeof([Slots() for i in range(1000)])
Out[1]: 9024
>>> sys.getsizeof([NoSlots() for i in range(1000)])
Out[1]: 9024
Run Code Online (Sandbox Code Playgroud)

Python 2.7结果:

>>> sys.getsizeof([Slots() for i in …
Run Code Online (Sandbox Code Playgroud)

python python-3.3

14
推荐指数
1
解决办法
528
查看次数

从pandas.rolling_apply返回两个值

我正在使用pandas.rolling_apply将数据拟合到分布并从中获取值,但我需要它还报告滚动的拟合优度(特别是p值).目前我这样做:

def func(sample):
    fit = genextreme.fit(sample)
    return genextreme.isf(0.9, *fit)

def p_value(sample):
    fit = genextreme.fit(sample)
    return kstest(sample, 'genextreme', fit)[1]

values = pd.rolling_apply(data, 30, func)
p_values = pd.rolling_apply(data, 30, p_value)
results = pd.DataFrame({'values': values, 'p_value': p_values})
Run Code Online (Sandbox Code Playgroud)

问题是我有很多数据,而且拟合函数很昂贵,所以我不想为每个样本调用两次.我宁愿做的是这样的事情:

def func(sample):
    fit = genextreme.fit(sample)
    value = genextreme.isf(0.9, *fit)
    p_value = kstest(sample, 'genextreme', fit)[1]
    return {'value': value, 'p_value': p_value}

results = pd.rolling_apply(data, 30, func)
Run Code Online (Sandbox Code Playgroud)

结果是DataFrame两列的结果.如果我试图运行它,我得到一个例外: TypeError: a float is required.是否有可能实现这一目标,如果是这样,如何实现?

python pandas

13
推荐指数
2
解决办法
3093
查看次数

詹金斯在码头工人与访问主机码头工人

我有一个工作流程如下,用于将webapps发布到我的开发服务器.服务器有一个docker主机,我使用docker-compose来管理容器.

  1. 将我的应用中的更改推送到私有gitlab(在docker中运行).该应用程序包括Dockerfile和docker-compose.yml
  2. Gitlab触发jenkins构建(jenkins也在docker中运行),它执行一些正常的构建(例如运行测试)
  3. 然后Jenkins需要构建一个新的docker镜像并使用docker-compose进行部署.

我遇到的问题是在第3步.我设置它的方式,jenkins容器可以访问主机docker,因此docker在构建脚本中运行任何命令与在主机上运行它基本相同.这是使用以下DockerFilejenkins完成的:

FROM jenkins
USER root

# Give jenkins access to docker
RUN groupadd -g 997 docker
RUN gpasswd -a jenkins docker

# Install docker-compose
RUN curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose

USER jenkins
Run Code Online (Sandbox Code Playgroud)

并将以下卷映射到jenkins容器:

-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
Run Code Online (Sandbox Code Playgroud)

jenkins中的典型构建脚本如下所示:

docker-compose build
docker-compose up
Run Code Online (Sandbox Code Playgroud)

这样可行,但有两个问题:

  • 它真的像一个黑客.但我发现的唯一其他选项是使用jenkins的docker插件,发布到注册表,然后让某些方法让主机知道它需要重新启动.这是非常多的移动部件,docker-jenkins插件要求docker主机在一个开放端口上,我真的不想暴露它.

  • jenkins DockerFile包含groupadd -g 997 docker了让jenkins用户访问docker所需的东西.但是,GID(997)是主机上的GID,因此不可移植.

我不确定我正在寻找什么解决方案.我没有看到任何实用的方法来绕过这种方法,但如果有一种方法允许在jenkins容器内运行docker命令而不必在DockerFile中硬编码GID,那将会很好.有人对此有任何建议吗?

jenkins docker

12
推荐指数
2
解决办法
5626
查看次数

Sphinx:模块中的函数列表

我有一些python模块,主要包含函数和几个类.每个人都使用sphinx-autodoc在一个单独的rst中记录.我想要做的是在每个页面的顶部创建一个表或模块的内容列表,例如,mymodule.py是

def first():
    'First function'

def second():
    'Second function'
Run Code Online (Sandbox Code Playgroud)

而mymodule.rst是

Page Contents
-------------

:create_page_contents_list:

Members
-------

.. automodule:: mymodule
    :members:
Run Code Online (Sandbox Code Playgroud)

那么输出应该是这样的:

Page Contents
-------------

first
second

Members
-------

first()
    First function

second()
    Second function
Run Code Online (Sandbox Code Playgroud)

问题怎么办:create_page_contents_list:.我已经看过使用TOC,但似乎我需要为每个项目手动创建一个条目.我也看过autosummary,但我仍然需要列出成员.有任何关于自动化的建议吗?我宁愿避免第三方扩展.

python python-sphinx

11
推荐指数
1
解决办法
4620
查看次数