小编Iva*_*mov的帖子

Cmake找不到Boost

我正在尝试使用CMake配置项目,但即使它们位于指定的文件夹中,也无法找到Boost库.我已经指定了Boost_INCLUDE_DIR,Boost_LIBRARYDIR和BOOST_ROOT,但是我仍然收到错误,说CMake无法找到Boost.这种错误的原因是什么?

boost cmake

76
推荐指数
6
解决办法
14万
查看次数

使用gradle运行特定的单元测试

有没有办法使用Gradle运行特定的Android单元测试?我试过了

gradle -Dtest.single=UnitTestName connectedInstrumentTest
Run Code Online (Sandbox Code Playgroud)

但它似乎在包中运行所有测试.

提前谢谢,伊万.

android unit-testing gradle

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

使用PyCharm调试Popen子进程

我正在尝试调试使用psutil.Popen对象的Python应用程序.当我启动子进程时,PyCharm用以下代码替换我的命令行:

python -m pydevd.py --multiproc --client 127.0.0.1 --port 52581 --file <myapplication>
Run Code Online (Sandbox Code Playgroud)

最终出现错误:

python.exe: Import by filename is not supported.
Run Code Online (Sandbox Code Playgroud)

当我没有-m选项启动相同的命令时,一切似乎都没问题.有没有办法可以改变PyCharm的调试器启动命令?

我已更新到PyCharm Community Edition 4.0.3,新的调试器命令如下所示:

python.exe "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.3\helpers\pydev\pydevd.py" 
--multiproc --client 127.0.0.1 --port 62661 
--file __main__.py local -c local.yml -f input/11_12.xls
Run Code Online (Sandbox Code Playgroud)

where -c-f是我的模块的命令行参数.调试器启动命令已更改,但它没有解决问题; 我仍然得到Import by filename is not supported错误.

Bitbucket.org提供一个代码示例.Pycharm的运行配置应如下所示:

Script:            __main__.py
Script parameters: server
Working directory: %path to the repository%
Run Code Online (Sandbox Code Playgroud)

python multiprocessing pycharm

15
推荐指数
1
解决办法
6751
查看次数

如何在Windows上安装gevent?

我正在尝试在Windows上安装gevent.为了做到这一点,我已经下载并编译了libevent,然后我运行pip install gevent并得到一个错误:Please provide path to libevent source with --libevent DIR.如何将libevent选项传递给setup.py使用pip

提前谢谢,伊万.

UPD:running pip install gevent --install-option="--libevent path_to_libevent"给出相同的结果.

python pip libevent gevent

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

适用于Gradle instrumentTest的AndroidManifest.xml

有没有办法AndroidManifest.xml为gradle测试应用程序指定其他文件?我需要它来为我的单元测试指定其他权限和活动.

UPD: 我试图instrumnetTestbuild.gradle文件中添加部分,但它没有帮助,我仍然得到Unable to resolve activity for: Intent错误

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
    instrumentTest {
        manifest.srcFile 'src/instrumentTest/AndroidManifest.xml'
        java.srcDir 'src/instrumentTest/Java'
    }
}
Run Code Online (Sandbox Code Playgroud)

java android gradle

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

Python中的进程通信

在python中建立两个进程之间的通信的最佳方法是什么?经过一些谷歌搜索,我试图这样做:

parent_pipe, child_pipe = Pipe()
p = Process(target = instance_tuple.instance.run(), \
    args = (parent_pipe, child_pipe,))
p.start()
Run Code Online (Sandbox Code Playgroud)

将数据发送到子进程:

command = Command(command_name, args)
parent_pipe.send(command)
Run Code Online (Sandbox Code Playgroud)

处理目标功能:

while True:
    if (self.parent_pipe.poll()):
        command = parent_pipe.recv()
        if (command.name == 'init_model'):
            self.init_model()
        elif (command.name == 'get_tree'):
            tree = self.get_fidesys_tree(*command.args)
            result = CommandResult(command.name, tree)
            self.child_pipe.send(result)
        elif(command.name == 'set_variable'):
            name = command.args[0]
            value = command.args[1]
            self.config[name] = value
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用(子进程没有收到任何东西parent_pipe).我该如何解决?

提前致谢.

python multiprocessing

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

如何在django-rest-swagger中指定查询参数序列化程序?

我正在使用Django REST Framework和django-rest-swagger为我的API创建可浏览的界面.我可以使用YAML docstring指定请求正文序列化程序,但我还没有找到为请求查询参数指定序列化程序的方法.我使用的视图很像:

class ListBans(BaseBanView):

    def get(self, request):
        """
        List all profile bans
        ---
        response_serializer: backend_serializers.BanSerializer
        request_serializer: moderator_serializers.ListBansSerializer
        """
        serializer = moderator_serializers.ListBansSerializer(data=request.query_params)
        if serializer.is_valid(raise_exception=True):
            # query profile bans
            data = []
            return APIResponse(status=status.HTTP_200_OK, data=data)

class ListBansSerializer(serializers.Serializer):
    limit = serializers.IntegerField(default=10, help_text='query limit')
    offset = serializers.IntegerField(default=0, help_text='query offset')
Run Code Online (Sandbox Code Playgroud)

我想要实现的是django-rest-swagger为查询参数创建表单字段,ListBansSerializer以便我不必parameters在docstring中手动指定该部分.有没有办法做到这一点?

python django yaml django-rest-framework

9
推荐指数
1
解决办法
1633
查看次数

Cython 没有这样的文件或目录:Windows 上的“.pyd”错误

我正在尝试从 Cython 教程构建Hello World 示例。我已经编写了 hello.pyx 和 setup.py 文件:

# hello.pyx
def say_hello_to(name):
    print("Hello %s!" % name)
Run Code Online (Sandbox Code Playgroud)
# setup.py
try:
    from setuptools import setup
    from setuptools import Extension
except ImportError:
    from distutils.core import setup
    from distutils.extension import Extension

from Cython.Build import cythonize


setup(
  name='Hello world app',
  ext_modules=cythonize("hello.pyx"),
)
Run Code Online (Sandbox Code Playgroud)

当我跑

python setup.py build_ext --inplace
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

copying build\lib.win-amd64-2.7\cython_test\hello.pyd -> cython_test
error: [Errno 2] No such file or directory: 'cython_test\\hello.pyd'
Run Code Online (Sandbox Code Playgroud)

构建过程工作正常,我得到了一个工作hello.pyd文件,但由于某种原因 setup.py 无法将其复制.pyd回工作目录。我该如何解决?

hello.pyx 和 setup.py 文件也可以在 …

python cython

7
推荐指数
2
解决办法
3272
查看次数

如何注册Pylons翻译器对象?

我有一个在多个进程中运行的应用程序(一个Web服务器和几个用于繁重计算的进程).目标是使这些计算过程返回本地化错误.为了做到这一点,我制作了一本将由Babel使用的字典:

errors = {
    'ERR_REQUEST_FORMAT': (1, _('ERR_REQUEST_FORMAT')),
    'ERR_REQUEST_TYPE': (2, _('ERR_REQUEST_TYPE')),
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试启动应用程序时,我得到了

TypeError: No object (name: translator) has been registered for this thread
Run Code Online (Sandbox Code Playgroud)

加载翻译器对象的正确方法是什么?

提前谢谢,伊万.

python pylons localization babel

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

芹菜任务总是待命

我尝试在Windows上使用redis后端运行Celery示例.代码如下:

from celery import Celery

app = Celery('risktools.distributed.celery_tasks',
             backend='redis://localhost',
             broker='redis://localhost')

@app.task(ignore_result=False)
def add(x, y):
    return x + y

@app.task(ignore_result=False)
def add_2(x, y):
    return x + y
Run Code Online (Sandbox Code Playgroud)

我使用iPython控制台启动任务:

>>> result_1 = add.delay(1, 2)    
>>> result_1.state
'PENDING'
>>> result_2 = add_2.delay(2, 3)    
>>> result_2.state
'PENDING'
Run Code Online (Sandbox Code Playgroud)

似乎两个任务都没有执行,但Celery worker输出显示它们成功了:

[2014-12-08 15:00:09,262: INFO/MainProcess] Received task: risktools.distributed.celery_tasks.add[01dedca1-2db2-48df-a4d6-2f06fe285e45]
[2014-12-08 15:00:09,267: INFO/MainProcess] Task celery_tasks.add[01dedca1-2db2-48df-a4d6-2f06fe28
5e45] succeeded in 0.0019998550415s: 3
[2014-12-08 15:00:24,219: INFO/MainProcess] Received task: risktools.distributed.celery_tasks.add[cb5505ce-cf93-4f5e-aebb-9b2d98a11320]
[2014-12-08 15:00:24,230: INFO/MainProcess] Task celery_tasks.add[cb5505ce-cf93-4f5e-aebb-9b2d98a1
1320] succeeded in 0.010999917984s: 5
Run Code Online (Sandbox Code Playgroud)

我根据Celery文档试图解决这个问题,但没有一个建议是有用的.我做错了什么,如何从Celery任务中获得结果? …

python windows redis celery

6
推荐指数
3
解决办法
4841
查看次数