我正在搞乱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只能解决我希望的一半问题:)
谢谢你的帮助!帕特里克
给出以下示例类:
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正常,但与作品aTuple和aList它返回的错误'staticmethod' object is not callable?
我有这个包裹:
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).
如何在工具栏中左,中,右三个区域?我知道我可以使用->触发所有后续物品的右对齐容器,但中心呢?
使用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)
有任何想法吗?
我最近决定解决我遇到的问题的最佳方法是使用NSAttributedString实例.文档似乎缺乏,至少对新手而言.stackoverflow的答案主要有两种类型:
我真的很喜欢第二个答案.但是我想更好地理解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) 我有一个自定义单元格的表格视图,表示单个上传,每个单元格中都有一个进度指示器和一个成功/错误图标.我希望在进度更新时更新单元格,并指出它是否成功/失败.我通过让我的上传控制器广播NSNotifications以获得进度/成功/失败来实现此目的.
是否更好:
A)让每个单元具有用于这些通知的NSNotification监听器并更新单元视图
要么
B)让表视图控制器有一个NSNotification监听器监听这些通知,然后通过使用cellForRowAtIndexPath获取单元格来设置每个单元的值.
我想它归结为A更容易实现,但我想知道是否有一个性能损失让很多听众听取这些通知并做'如果这个通知是关于我......'.与只有一个监听器的B相反,并且可以推广到任何多个与单个监听器设计.
将空字符串传递给正则表达式对象时,搜索结果是匹配对象而非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)
顺便说一句,使用特殊符号^并$产生相同的结果.
以下代码段:
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 ×6
ios ×2
iphone ×2
buildout ×1
core-motion ×1
dictionary ×1
extjs ×1
extjs-mvc ×1
extjs4 ×1
extjs4.1 ×1
objective-c ×1
paramiko ×1
regex ×1
uitableview ×1
virtualenv ×1
yaml ×1