小编Fan*_*Lin的帖子

无法在模拟器中运行应用程序

今天,当我尝试在模拟器中运行我的应用程序时,它只是告诉我

Unable to run app in Simulator
An error was encountered while running
(Domain = NSPOSIXErrorDomain, Code = 22)
Run Code Online (Sandbox Code Playgroud)

错误对话框如下所示:

无法在模拟器中运行应用程序

我尝试了很多东西:

  • 重启Xcode
  • 重启模拟器
  • 重启
  • 重置模拟器的内容和设置

以上都不适用.我查看了日志,我发现这些记录与此问题有关

2014/10/15 9:09:40.964 com.apple.CoreSimulator.CoreSimulatorService [979]:错误Domain = com.apple.CoreSimulator.SimError Code = 146"无法在当前状态下查找:关闭"UserInfo = 0x7f96c861d000 {NSLocalizedDescription =无法在当前状态下查找:关机}

2014/10/15 9:09:40.964 Xcode [1983]:[MT] iPhoneSimulator:无法连接到"com.apple.instruments.deviceservice.lockdown"(错误域= com.apple.CoreSimulator.SimError Code = 146"无法在当前状态下查找:关闭"UserInfo = 0x7fcf6fc24190 {NSLocalizedDescription =无法在当前状态下查找:关机}"

2014/10/15 9:09:40.980 com.apple.CoreSimulator.CoreSimulatorService [979]:Error Domain = com.apple.CoreSimulator.SimError Code = 146"无法在当前状态下查找:Shutdown"UserInfo = 0x7f96c861d000 {NSLocalizedDescription =无法在当前状态下查找:关机}

2014/10/15 9:09:42.351 launchd_sim [2047]:断言失败:13F34:libxpc.dylib + 29453 [75E30F22-514B-3A20-B82C-EDA43AF5C35C]:0x8d

2014/10/15 9:09:42.362 com.apple.CoreSimulator.CoreSimulatorService [979]:无法注册服务com.apple.coreservices.lsuseractivity.simulatorsupport:无法查找com.apple.coreservices.lsuseractivity.simulatorsupport:0x44e

我还发现其他一些人在这里有同样的问题:https: …

xcode ios ios-simulator

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

如何使用py2exe打包Twisted程序?

我尝试使用py2exe打包一个Twisted程序,但是一旦我运行了我构建的exe文件,我就得到了一个"No module named resource"错误.

我发现py2exe说:

以下模块似乎缺失['FCNTL','OpenSSL','email.Generator','email.Iterators','email.Utils','pkg_resources','pywintypes','resource','win32api', 'win32con','win32event','win32file','win32pipe','win32process','win32security']

那么我该如何解决这个问题呢?

谢谢.

python twisted py2exe

10
推荐指数
1
解决办法
8134
查看次数

python的gst.LinkError问题的Gstreamer

我正在使用Python连接gstreamer应用程序.我得到一个LinkError与以下代码:

import pygst
pygst.require('0.10')
import gst

import pygtk
pygtk.require('2.0')
import gtk

# this is very important, without this, callbacks from gstreamer thread
# will messed our program up
gtk.gdk.threads_init()

def main():
    pipeline = gst.Pipeline('pipleline')

    filesrc = gst.element_factory_make("filesrc", "filesrc")
    filesrc.set_property('location', 'C:/a.mp3')

    decode = gst.element_factory_make("decodebin", "decode")

    convert = gst.element_factory_make('audioconvert', 'convert')

    sink = gst.element_factory_make("autoaudiosink", "sink")

    pipeline.add(filesrc, decode, convert, sink)
    gst.element_link_many(filesrc, decode, convert, sink)

    pipeline.set_state(gst.STATE_PLAYING)

    gtk.main()

main()
Run Code Online (Sandbox Code Playgroud)

而错误:

ImportError: could not import gio
Traceback (most recent call last):
  File "H:\workspace\ggg\src\test2.py", line 37, in <module> …
Run Code Online (Sandbox Code Playgroud)

python gstreamer

10
推荐指数
1
解决办法
4457
查看次数

如何从setup.py中提取依赖项信息

我有一个python项目,我们称之为foobar,setup.py项目根目录中有一个脚本,就像所有Python项目一样.例如

  • foob​​ar的
    • setup.py

setup.py文件内容:

from ez_setup import use_setuptools
use_setuptools()

from setuptools import setup, find_packages
setup(
    name='foobar',
    version='0.0.0',
    packages=find_packages(),
    install_requires=[
        'spam==1.2.3',
        'eggs>=4.5.6',
    ],
)
Run Code Online (Sandbox Code Playgroud)

我需要使用Python从该setup.py文件中获取依赖项信息.我想要的部分是

[
    'spam==1.2.3',
    'eggs>=4.5.6',
]
Run Code Online (Sandbox Code Playgroud)

在上面的例子中.我不想安装这个包,我只需要依赖项信息.当然,我可以使用正则表达式来解析它,但那会很难看,我也可以使用Python AST来解析它,但我认为应该已经有一些工具可以做到这一点.这样做的最佳方法是什么?

python setup.py

8
推荐指数
2
解决办法
1446
查看次数

guppy报告的内存使用量与ps命令不同

我正在分析我的扭曲服务器.它使用的内存比我预期的多得多.它的内存使用量会随着时间的推

 ps -o pid,rss,vsz,sz,size,command
  PID   RSS    VSZ    SZ    SZ COMMAND
 7697 70856 102176 25544 88320 twistd -y broadcast.tac
Run Code Online (Sandbox Code Playgroud)

如您所见,它的成本为102176 KB,即99.78125 MB.我使用扭曲的沙井中的孔雀鱼来观察内存使用情况.

>>> hp.heap()
Partition of a set of 120537 objects. Total size = 10096636 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0  61145  51  5309736  53   5309736  53 str
     1  27139  23  1031596  10   6341332  63 tuple
     2   2138   2   541328   5   6882660  68 dict (no owner)
     3   7190 …
Run Code Online (Sandbox Code Playgroud)

python memory-management twisted guppy

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

如何使用python调试死锁?

我正在开发一个多线程应用程序,它正在陷入僵局.

我正在使用Visual C++ Express 2008来跟踪程序.一旦发生死锁,我就暂停程序并跟踪.我发现当发生死锁时,我的C++扩展中会有两个名为python的线程.

所有这些都在python代码中使用Queue,所以我猜死锁可能是由Queue引起的.但是,一旦扩展进入python代码,我从VC++调试器中看不到asm代码和二进制文件.

我想知道有没有办法在我暂停程序后转储python代码的调用堆栈?我怎么知道线程中的锁是什么造成了死锁?

python debugging multithreading deadlock

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

如何使用Scons在Glob的不同环境中编译相同的对象?

我有一个用Scons构建的C++项目.起初我只有优化版本才能编译,它运行正常.然后我还需要一个调试版本,然后我为它添加另一个环境.这是Scons代码:

env = Environment()

opt = env.Clone(CCFLAGS=['-pthread', '-O3', '-Wall'])
opt_objs = opt.Glob('src/*.cpp')
prog = opt.Program('prog', opt_objs)

dbg = env.Clone(CCFLAGS=['-pthread', '-Wall', '-g', '-O0'])
dbg_objs = dbg.Glob('src/*.cpp')
dbg_prog = dbg.Program('dbg_prog', dbg_objs)
Run Code Online (Sandbox Code Playgroud)

使用此代码,我遇到了错误:

scons: *** Two environments with different actions were specified for the same target: 
src/CometReadService.o
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,由opt.Glob('src/.cpp')和dbg.Glob('src / .cpp')创建的那些.o文件目标完全相同.通过阅读文档Multiple Construction Environments我知道我可以将对象重命名为"opt.Object('xxx-opt','xxx.c')",但是,它是Glob而不是Object.我怎么解决这个问题?

glob scons

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

我应该在手术前后进行记录吗?

我在考虑在哪里写一个操作的日志记录.这是两种不同的风格.第一个,在操作之前写入日志.

之前:

log.info("Perform operation XXX")
operation()
Run Code Online (Sandbox Code Playgroud)

这里有不同的风格,操作后写日志.

后:

operation()
log.info("Operation XXX is done.")
Run Code Online (Sandbox Code Playgroud)

使用之前的样式,日志记录说明现在要做什么.这种风格的专家是,当出现问题时,开发人员可以轻松地检测到它,因为他们知道程序现在在做什么.但是问题是你不确定操作是否正确完成,如果操作中出现错误,例如,函数调用在那里被阻塞而且永远不会返回,你不可能通过读取日志记录来了解它.使用后续样式,您确定操作已完成.

当然,我们可以将这两种风格混合在一起

都:

log.info("Perform operation XXX")
operation()
log.info("Operation XXX is done.")
Run Code Online (Sandbox Code Playgroud)

但我觉得这有点冗长,它会产生双重记录记录.所以,这是我的问题 - 什么是良好的伐木风格?我想知道你怎么想.

python logging coding-style

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

如何将数据重定向到像密码输入这样的"getpass"?

我正在拧一个python脚本来运行一些命令.有些命令要求用户输入密码,我确实尝试在他们的stdin中输入数据,但是它不起作用,这里有两个简单的python程序代表问题

input.py

import getpass

print raw_input('text1:')
print getpass.getpass('pass1:')
print getpass.getpass('pass2:')
Run Code Online (Sandbox Code Playgroud)

put_data.py

import subprocess
import getpass

def run(cmd, input=None):
    stdin=None
    if input:
        stdin=subprocess.PIPE
    p = subprocess.Popen(cmd, shell=True, stdin=stdin)
    p.communicate(input)
    if p.returncode:
        raise Exception('Failed to run command %r' % cmd)

input ="""text1
password1
password2
"""
run('python test.py', input)
Run Code Online (Sandbox Code Playgroud)

这是输出

[guest@host01 ~]# python put_data.py 
text1:text1
pass1:
Run Code Online (Sandbox Code Playgroud)

它只是停在pass1字段上.这是问题,为什么我不能将数据放到stdin来将数据提供给密码字段?如何将数据写入密码字段?

python passwords stdin getpasswd

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

大数据的数据库选择

我有很多文本文件,它们的总大小约为300GB~400GB.它们都是这种格式

key1 value_a
key1 value_b
key1 value_c
key2 value_d
key3 value_e
....
Run Code Online (Sandbox Code Playgroud)

每一行由一个键和一个值组成.我想创建一个数据库,可以让我查询一个键的所有值.例如,当我查询key1时,返回value_a,value_b和value_c.

首先,将所有这些文件插入数据库是一个大问题.我尝试使用LOAD DATA INFILE语法将几个GB大小的块插入到MySQL MyISAM表中.但似乎MySQL不能利用多核来插入数据.它和地狱一样慢.所以,我认为MySQL对于这么多的记录来说不是一个好的选择.

此外,我需要定期,每周甚至每天更新或重新创建数据库,因此,插入速度对我来说很重要.

单个节点不可能有效地进行计算和插入,为了提高效率,我认为最好平行地在不同节点中执行插入.

例如,

node1 -> compute and store 0-99999.txt
node2 -> compute and store 10000-199999.txt
node3 -> compute and store 20000-299999.txt
....
Run Code Online (Sandbox Code Playgroud)

所以,这是第一个标准.

标准1.以分布式批处理方式快速插入速度.

然后,正如您在文本文件示例中所看到的,最好为不同的值提供多个相同的键.就像key1映射到示例中的value_a/value_b/value_c一样.

标准2.允许多个密钥

然后,我将需要查询数据库中的键.不需要关系或复杂的连接查询,我只需要简单的键/值查询.重要的部分是同一个值的多个键

标准3.简单快速的键值查询.

我知道有HBase/Cassandra/MongoDB/Redis ....等等,但我不熟悉所有这些,不确定哪一个符合我的需求.所以,问题是 - 使用什么数据库?如果它们都不符合我的需求,我甚至计划建立自己的需求,但需要付出努力:/

谢谢.

mysql database distributed bigdata nosql

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