我有一个docker-compose.yml
包含几个容器.其中三个用于我的应用程序(客户端,服务器和数据库),其余用于各种开发工具(例如psql,npm,manage.py等).当我做docker-compose up
所有这些都开始了,但我只想要三个主要的开始.由于我已经指定了链接,我可以docker-compose up client
从这三个开始,但是输出只来自那个容器.那么,有没有办法做到以下其中一种:
docker-compose up
docker-compose up client
我的计算机在Windows服务器上运行Windows后面的窗口(使用活动目录),我无法弄清楚如何通过它pip
(在python3中).我尝试过使用--proxy
,但它仍然只是超时.我也试过设置一个长时间超时(60s),但这没有任何区别.我的代理设置是正确的,我将它们与我在TortoiseHG中成功使用的设置进行了比较以确保.
是否还有其他任何人都知道我可以尝试的技巧,或者pip
对于Windows代理有什么限制吗?
更新:我失败的尝试涉及搜索pypi.我刚尝试安装一些东西,但它确实有效.但搜索仍然失败.这是否表示存在错误pip
或者它们的工作方式不同?
我正在尝试使用六个将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文档中找不到任何相关内容.所以有人知道怎么做,或者甚至可能吗?
据我所知,在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个模型的实际配置要复杂得多,每个模型间接与其他模型相关.
我的理解是否正确?有更有效的方法吗?或者有一个很好的理由这样做我错过了吗?
我想知道是否可以格式化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)
这种语法显然不起作用,它只是我正在寻找的事物类型的一个例子.
我知道像sprintf
from underscore.string
这样的工具,但这似乎是JS应该能够开箱即用的东西,特别是考虑到模板字符串的强大功能.
编辑
如上所述,我已经知道第三方工具(例如sprintf)和自定义功能.类似的问题(例如,相当于printf/String.Format的JavaScript)根本没有提到模板字符串,可能是因为在ES6模板字符串出现之前就被问过了.我的问题是针对ES6的,并且与实施无关.我很高兴接受一个答案"不,这是不可能的",如果是这样的话,但是最好的是有关提供此功能的新ES6功能的信息,或者是否有关于此功能是否在其上的一些信息办法.
在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) 我正在使用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
.是否有可能实现这一目标,如果是这样,如何实现?
我有一个工作流程如下,用于将webapps发布到我的开发服务器.服务器有一个docker主机,我使用docker-compose来管理容器.
我遇到的问题是在第3步.我设置它的方式,jenkins容器可以访问主机docker,因此docker
在构建脚本中运行任何命令与在主机上运行它基本相同.这是使用以下DockerFile
jenkins完成的:
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,那将会很好.有人对此有任何建议吗?
我有一些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 ×6
docker ×2
pip ×2
ecmascript-6 ×1
ember-cli ×1
ember-data ×1
ember.js ×1
installer ×1
javascript ×1
jenkins ×1
pandas ×1
proxy ×1
pygobject ×1
python-3.3 ×1
python-3.x ×1
unit-testing ×1
windows ×1