小编Rod*_*Rod的帖子

Buildout和Virtualenv

我正在搞乱buildout和virtualenv的组合来在python中设置一个孤立的开发环境,允许进行可重现的构建.

有一个buildout的配方,让你将virtualenv集成到buildout中:

 tl.buildout_virtual_python
Run Code Online (Sandbox Code Playgroud)

有了这个,我的buildout.cfg看起来像这样:

[buildout]
develop = .
parts = script
        virtualpython


[virtualpython]
recipe = tl.buildout_virtual_python
headers = true
executable-name = vp
site-packages = false

[script]
recipe = zc.recipe.egg:scripts
eggs = foo
python = virtualpython
Run Code Online (Sandbox Code Playgroud)

这将在./bin/中部署两个可执行文件:

vp
script
Run Code Online (Sandbox Code Playgroud)

当我执行vp时,我按预期得到了一个交互式,孤立的python对话框(无法从系统加载任何包).我现在所期待的是,如果我跑了

./bin/script 
Run Code Online (Sandbox Code Playgroud)

使用了孤立的python解释器.但它没有,它不是孤立的"vp"(意思是我可以从系统级别导入库).但是我可以运行:

./bin/vp ./bin/script
Run Code Online (Sandbox Code Playgroud)

哪个会在我希望的孤立环境中运行脚本.但是必须有一种方法来指定这样做而不用链接命令,否则buildout只能解决我希望的一半问题:)

谢谢你的帮助!帕特里克

python buildout virtualenv

14
推荐指数
2
解决办法
6342
查看次数

在类级容器初始化中调用static方法

给出以下示例类:

class Foo:

    def aStaticMethod():
        return "aStaticMethod"

    aVariable = staticmethod(aStaticMethod)
    aTuple = (staticmethod(aStaticMethod),)
    aList = [staticmethod(aStaticMethod)]

print Foo.aVariable()
print Foo.aTuple[0]()
print Foo.aList[0]()
Run Code Online (Sandbox Code Playgroud)

为什么会调用aVariable正常,但与作品aTupleaList它返回的错误'staticmethod' object is not callable

python static-methods

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

python - 同一目录中模块的绝对导入

我有这个包裹:

mypackage/
    __init__.py
    a.py
    b.py
Run Code Online (Sandbox Code Playgroud)

我想从模块a导入到模块b的东西,在模块b中写入是否有意义

from mypackage.a import *
Run Code Online (Sandbox Code Playgroud)

或者我应该使用

from a import *
Run Code Online (Sandbox Code Playgroud)

这两个选项都可以工作,我只是想知道这是更好的(第二有道理的,因为它是在同一水平线上,但我考虑的第一个以避免冲突,例如,如果系统是从包含名为文件的文件夹运行a.py).

python

14
推荐指数
2
解决办法
6667
查看次数

如何将工具栏中的元素与左,中,右对齐

如何在工具栏中左,中,右三个区域?我知道我可以使用->触发所有后续物品的右对齐容器,但中心呢?

extjs extjs4 extjs-mvc extjs4.1

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

python paramiko,尝试建立SSH连接时出现getaddrinfo错误

使用paramiko我正在尝试与服务器建立连接,但该连接失败并带有以下输出

Traceback (most recent call last):
  File "C:\ucatsScripts\cleanUcatsV2.py", line 13, in <module>
    ssh.connect(host,username,password)
  File "C:\Python27\lib\site-packages\paramiko-1.7.6-py2.7.egg\paramiko\client.py", line 278, in connect
    for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
socket.gaierror: [Errno 10109] getaddrinfo failed
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码

import paramiko
import cmd
import sys

# Connect to Server
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(
    paramiko.AutoAddPolicy())

success = ssh.connect('MASKED',username='MASKED',password='MASKED')
if (success != True):
    print "Connection Error"
    sys.exit()
else:
    print "Connection Established"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python paramiko

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

Core Motion在后台?

当应用程序处于后台时,Core Motion框架是否可以正常工作?

iphone ios core-motion

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

iOS归因于字符串 - 最小的例子

我最近决定解决我遇到的问题的最佳方法是使用NSAttributedString实例.文档似乎缺乏,至少对新手而言.stackoverflow的答案主要有两种类型:

  1. 阅读文档
  2. 使用AliSoftware最优秀的OHAttributedLabel类.

我真的很喜欢第二个答案.但是我想更好地理解NSAttributedString,所以我在这里提供了最小的(?)组装和显示属性字符串的示例,以防它帮助其他人.

我使用Storyboard和ARC在Xcode(4.5.2)中为iPad创建了一个新的单窗口项目.

AppDelegate没有任何变化.

我创建了一个基于UIView的新类,将其命名为AttributedStringView.对于这个简单的示例,最简单的方法是使用drawAtPoint:方法将属性字符串放在屏幕上,这需要一个有效的图形上下文,并且在UIView子类的drawRect:方法中最容易获得.

这是完整的ViewController.m(没有对头文件进行任何更改):

#import "ViewController.h"
#import "AttributedStringView.h"

@interface ViewController ()

@property (strong, nonatomic) AttributedStringView *asView;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview:self.asView];
}

- (AttributedStringView *)asView
{
    if ( ! _asView ) {
        _asView = [[AttributedStringView alloc] initWithFrame:CGRectMake(10, 100, 748, 500)];
        [_asView setBackgroundColor:[UIColor yellowColor]]; // for visual assistance
    }
    return _asView;
}

@end
Run Code Online (Sandbox Code Playgroud)

这里是完整的AttributedStringView.m(没有对头文件进行任何更改):

#import "AttributedStringView.h"

@interface AttributedStringView ()

@property (strong, nonatomic) NSMutableAttributedString *as;

@end
@implementation AttributedStringView

- (id)initWithFrame:(CGRect)frame
{ …
Run Code Online (Sandbox Code Playgroud)

nsattributedstring ios

7
推荐指数
0
解决办法
9606
查看次数

基于通知更新表格单元格的最佳实践

我有一个自定义单元格的表格视图,表示单个上传,每个单元格中都有一个进度指示器和一个成功/错误图标.我希望在进度更新时更新单元格,并指出它是否成功/失败.我通过让我的上传控制器广播NSNotifications以获得进度/成功/失败来实现此目的.

是否更好:

A)让每个单元具有用于这些通知的NSNotification监听器并更新单元视图

要么

B)让表视图控制器有一个NSNotification监听器监听这些通知,然后通过使用cellForRowAtIndexPath获取单元格来设置每个单元的值.

我想它归结为A更容易实现,但我想知道是否有一个性能损失让很多听众听取这些通知并做'如果这个通知是关于我......'.与只有一个监听器的B相反,并且可以推广到任何多个与单个监听器设计.

iphone objective-c uitableview

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

为什么空python regexp的返回值匹配?

将空字符串传递给正则表达式对象时,搜索结果是匹配对象而非None.应该是没有,因为没有什么可以匹配的?

import re

m = re.search("", "some text")
if m is None:
    print "Returned None"
else:
    print "Return a match"
Run Code Online (Sandbox Code Playgroud)

顺便说一句,使用特殊符号^$产生相同的结果.

python regex

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

使用defaultdict时,需要省略yaml输出中的值

以下代码段:

import yaml
import collections

def hasher():
  return collections.defaultdict(hasher)

data = hasher()

data['this']['is']['me'] = 'test'

print yaml.dump(data)
Run Code Online (Sandbox Code Playgroud)

返回:

!!python/object/apply:collections.defaultdict
args: [&id001 !!python/name:__main__.hasher '']
dictitems:
  this: !!python/object/apply:collections.defaultdict
    args: [*id001]
    dictitems:
      is: !!python/object/apply:collections.defaultdict
        args: [*id001]
        dictitems: {me: test}
Run Code Online (Sandbox Code Playgroud)

我该如何删除:

!!python/object/apply:collections.defaultdict
[*id001]
Run Code Online (Sandbox Code Playgroud)

最终目标是:

  this: 
    is: 
      me: "test"
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏!

python dictionary yaml

4
推荐指数
1
解决办法
1768
查看次数