小编Cla*_*diu的帖子

当bundle_files = 1时,py2exe + pywin32 MemoryLoadLibrary导入失败

我创建了一个使用pywin32的简单程序.我想将它部署为可执行文件,所以我py2exe它.我也不想要大量的文件,所以我设置bundle_files为1(意味着将所有内容捆绑在一起).但是,当我尝试运行它时,我得到:

Traceback (most recent call last):
  File "pshelper.py", line 4, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "win32.pyc", line 8, in <module>
  File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading win32ui.pyd
Run Code Online (Sandbox Code Playgroud)

在我的安装脚本中,我尝试过packages=["win32ui"]includes=["win32ui"]作为选项,但这没有帮助.如何让py2exe包含win32ui.pyd?

如果我不要求它捆绑文件我没有这个问题,所以我现在可以这样做,但我想知道如何让它正常工作.

python pywin32 py2exe

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

win32:检查窗口是否最小化

如何使用win32 api检查窗口是否最小化?

python windows winapi pywin32

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

svn:用同名的本地文件夹替换外部的简洁方法

我在各个地方检查了一个存储库.我有一个文件夹X,它是另一个存储库的外部.我希望X是本地的.还有其他问题,但它们似乎没有遇到我的困难.

我做的是编辑了svn:externals并删除了该行.然后我提交了回购.然后我拿了文件夹,删除了.svn它中的所有条目(使其成为常规文件夹),svn add编辑它,然后提交.这很好.

但是,当我更新回购的另一个结账时,我遇到了问题.第一个错误是这样的:

UUID mismatch: existing directory XXX was checked out from a different repository.
Run Code Online (Sandbox Code Playgroud)

好的,已经svn up失败了,但我尝试删除文件夹并重新更新.现在它管理重新获取所有内容,但现在我收到一个新错误:

Can't remove file XXX: Access is denied
Run Code Online (Sandbox Code Playgroud)

我再次尝试更新,没有任何反应.我删除该文件夹中的文件并从根目录再次更新,没有任何反应.我删除了文件夹X,没有任何反应 - 所以它似乎忘了它!我唯一的办法就是删除X的根目录并svn up从一个级别下来(因为所有这些也发生在一个也是外部的子文件夹中).

不好......我不想在签出此存储库的所有站点上执行某些手动rigamarole.该怎么办?

svn repository svn-externals

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

gtk treeview:在行上放置图像按钮

对于我的树视图中的每一行,我想要彼此相邻的4个图像按钮.它们就像单选按钮一样,只有一个可以一次激活.每个按钮都有一个"开"和"关"图像.

我该怎么做呢?我想出了如何将图像放在那里,以及如何放置togglebuttons,但这似乎需要更多的努力,因为没有预先构建的cellrenderer做我想要的.

基本上解决我的问题的是弄清楚如何在gtk.treeview可点击的图像中制作图像.有任何想法吗?

python gtk pygtk gtktreeview

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

如何从python中的参数列表格式化shell命令行

我有一个参数列表,例如["hello", "bobbity bob", "bye"].我将如何格式化这些以便将它们适当地传递给shell?

错了:

>>> " ".join(args)
hello bobbity bob bye
Run Code Online (Sandbox Code Playgroud)

正确:

>>> magic(args)
hello "bobbity bob" bye
Run Code Online (Sandbox Code Playgroud)

python shell formatting command-line command-line-arguments

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

有没有办法在Python中覆盖任意对象的双下划线(魔术)方法?

我想写一个包装类,除了添加'reason'属性之外,它取一个值并且表现得像它一样.我有这样的想法:

class ExplainedValue(object):
    def __init__(self, value, reason):
        self.value = value
        self.reason = reason

    def __getattribute__(self, name):
        print '__getattribute__ with %s called' % (name,)
        if name in ('__str__', '__repr__', 'reason', 'value'):
            return object.__getattribute__(self, name)
        value = object.__getattribute__(self, 'value')
        return object.__getattribute__(value, name)

    def __str__(self):
        return "ExplainedValue(%s, %s)" % (
            str(self.value),
            self.reason)
    __repr__ = __str__
Run Code Online (Sandbox Code Playgroud)

但是,双下划线函数似乎没有被捕获__getattribute__,例如:

>>> numbers = ExplainedValue([1, 2, 3, 4], "it worked")
>>> numbers[0]

Traceback (most recent call last):
  File "<pyshell#118>", line 1, in <module>
    numbers[0]
TypeError: 'ExplainedValue' …
Run Code Online (Sandbox Code Playgroud)

python object magic-methods getattr getattribute

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

如何使用CMake在链接命令行的末尾添加标志?

我有一个问题,其中CMake 无法检测到pthread。作为一种解决方法,我尝试过:

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpthread")
Run Code Online (Sandbox Code Playgroud)

但是,这会插入-lpthread错误的位置:

/usr/bin/c++    -std=c++11 -D_GNU_SOURCE  -Wall [manyflags ...]    -lpthread \
    CMakeFiles/connectivity_tool.dir/connectivity_tool/conn_tool.cpp.o       \
    -o connectivity_tool -rdynamic -lboost_system [many libraries...]
Run Code Online (Sandbox Code Playgroud)

结果是:

/usr/bin/ld: /tmp/ccNvRifh.ltrans3.ltrans.o: undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
Run Code Online (Sandbox Code Playgroud)

当然,-lpthread应当位于第三行的末尾,而不是第一行的末尾。

我该如何要么-lpthread在此行的末尾添加CMake,要么以某种不可靠的方式修改生成的Makefile,以使其正常工作?

(如果答案涉及实际检测pthread,请回答链接的问题。)

c++ linker makefile compilation cmake

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

如何挂载容器可写主机目录?

我正在尝试使用Docker运行ELK堆栈.我发现docker-elk已经为我设置了配置,使用docker-compose.

我想将elasticsearch数据存储在主机而不是容器上.根据docker-elk的自述文件,我在volumes以下elasticsearch部分添加了一行docker-compose.yml:

elasticsearch:
  image: elasticsearch:latest
  command: elasticsearch -Des.network.host=0.0.0.0
  ports:
    - "9200"
    - "9300"
  volumes:
    - ../../env/elasticsearch:/usr/share/elasticsearch/data
Run Code Online (Sandbox Code Playgroud)

但是,当我跑步时,docker-compose up我得到:

$ docker-compose up
Starting dev_elasticsearch_1
Starting dev_logstash_1
Starting dev_kibana_1
Attaching to dev_elasticsearch_1, dev_logstash_1, dev_kibana_1
kibana_1        | Stalling for Elasticsearch
elasticsearch_1 | [2016-03-09 00:23:35,193][WARN ][bootstrap                ] unable to install syscall filter: seccomp unavailable: your kernel is buggy and you should upgrade
elasticsearch_1 | Exception in thread "main" java.lang.IllegalStateException: Unable to access …
Run Code Online (Sandbox Code Playgroud)

macos file-permissions docker docker-compose docker-toolbox

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

如何在 utf-16 中编码 JavaScript 字符串?

在 Python 3 中,我可以这样做:

>>> "€13,56".encode('utf-16')
b'\xff\xfe\xac 1\x003\x00,\x005\x006\x00'
Run Code Online (Sandbox Code Playgroud)

输入是一个(unicode)字符串,而输出是该字符串以 utf-16 编码的原始字节序列。

我怎样才能在 JavaScript 中做同样的事情——从一个(unicode)字符串,到一个Uint8Array以 utf-16 编码的字符串的原始字节序列(也许是一个?)?

javascript unicode encoding utf-16

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

如何检测我是否正在芹菜工人中跑步?

有没有办法以编程方式确定当前模块的导入/运行是在芹菜工人的背景下完成的?

我们已经确定要在运行Celery worker之前设置环境变量,并在代码中检查该环境变量,但是我想知道是否有更好的方法?

python celery

6
推荐指数
2
解决办法
2849
查看次数