小编chi*_*ffa的帖子

有没有办法直接在mongoDB中存储python对象而不对它们进行序列化

我已经阅读过某些地方,你可以使用BSON将python对象(更具体地说是字典)存储为MongoDB中的二进制文件.但是现在我找不到任何与此相关的文档.

有谁知道这是怎么做到的?

python mongodb bson pymongo

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

Windows 上的 Pyreadline 任意自动完成

我正在尝试在 Windows 上为我正在编写的命令行用户界面实现任意自动完成。第一答案启发这个问题,我想只是运行写有脚本,意识到我是在Windows和使用需要之前pyreadline代替readline。经过一些试验,我最终得到了下面的脚本,它基本上是一个复制粘贴,但带有 pyreader 初始化:

from pyreadline import Readline

readline = Readline()

class MyCompleter(object):  # Custom completer

    def __init__(self, options):
        self.options = sorted(options)

    def complete(self, text, state):
        if state == 0:  # on first trigger, build possible matches
            if text:  # cache matches (entries that start with entered text)
                self.matches = [s for s in self.options
                                    if s and s.startswith(text)]
            else:  # no text entered, all matches possible
                self.matches = self.options[:]

        # return match …
Run Code Online (Sandbox Code Playgroud)

python windows autocomplete readline

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

Python Kivy:正确启动更新 GUI 元素的后台进程

我有一个 Python 脚本,它对用户的文件执行一些密集处理,可能需要一些时间。我已经使用 Kivy 为它构建了一个用户界面,它允许用户选择文件、处理模式并在处理过程中向他们显示一些消息。

我的问题是,当主 Kivy 循环传递调用底层用户界面时,窗口会冻结。

据我所知,解决这个问题的正确方法是创建一个单独的进程,脚本将卸载到该进程,并将更新发送到用户界面。

但是,我找不到有关如何执行此操作的示例或有关如何将消息从单独的线程发送回应用程序的任何规范。

有人可以举例说明如何正确执行此操作或将我指向与该主题有关的文档吗?

更新:

为了保持程序的可维护性,我想避免从主线程调用处理器循环的元素,而是调用一个长进程,该进程返回到 GUI 的更新元素,例如进度条或文本字段。看起来这些元素只能从主 kivy 线程中修改。我如何从外部访问它们?

python event-handling kivy

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

使用docstring和"Not Implemented"异常预填充Eclipse和Pydev中的新函数

我正在使用Eclipse和Pydev编辑我的Python源代码.

我想记录我的所有函数,并在函数尚未实现时引发"未实现"异常.

例如,当我键入:

def foo(bar1,bar2):
Run Code Online (Sandbox Code Playgroud)

在输入时,我希望它能自动完成:

def foo(bar1,bar2):
'''
function foo
@param bar1:
@type: 
@param bar2:
@type
'''
raise NotImplementedError("")
Run Code Online (Sandbox Code Playgroud)

Pydev或Eclipse中是否已经有一个选项可以做到这一点?如果没有,是否有一个单独的Python模块或脚本可以正确地执行它?

python eclipse pydev

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

是否有相当于neo4j的灯泡框架中的提交

我正在构建一个基于neo4j的数据密集型Python应用程序,出于性能原因,我需要在每次事务中创建/恢复多个节点和关系.session.commit()在灯泡中是否有相当于SQLAlchemy的声明?

编辑:

对于那些感兴趣的人来说,开发了一个可以原生实现该功能的灯泡接口,其功能与SQLAlchemy非常相似:https: //github.com/chefjerome/graphalchemy

python neo4j bulbs

5
推荐指数
1
解决办法
1694
查看次数

有没有办法禁止python函数使用除本地变量之外的任何变量?

我目前正在进行手动python代码重构.

为了确保我忘记更正我在函数中包含的指令而在原始代码中没有中断任何内容,我想确保在测试它时函数无法访问全局变量.除了在单独的模块中复制它们之外,最好的方法是什么?

编辑:

需要明确的是:我正在尝试将我的初始代码转换为这样的代码:

def big_function(args):      
   def one_small_transformation(args):
       # No one else needs to see this transformation outside the function1

   def second_small_transformation(args):

   ...

   # Block of instructions chaining small transformations

# Other big functions and code making them work together
Run Code Online (Sandbox Code Playgroud)

有时我忘了纠正我的小变换中的变量名和小变换中的代码从大块指令中调用变量.

Unittests:通过big_function的单元测试; 重构后开始编辑代码时弹出错误.在项目的当前阶段,为小变换编写单元测试看起来像是一种矫枉过正,因为一旦big_function的内部逻辑清晰,它们将被完全重写.

python scope

5
推荐指数
1
解决办法
112
查看次数

构建依赖于 apt 库的 conda 包

我正在构建一个科学 python 项目,该项目依赖于 python 包 ( scikits.sparse) 提供与 C/Fortran 库 ( ) 的绑定libsuitesparse-dev,可以通过apt-get或安装该库yum,但实际上不可能正确手动安装。

我想让我的包可供所有平台上的用户使用,我认为最好的方法是使用 conda 包构建conda skeleton,然后转换到其他平台。但是,我不确定 conda 管理外部库依赖关系的效果如何,并且想知道除了官方说明apt-get之外,我是否还需要做其他事情才能使其工作。

python package apt-get anaconda conda

5
推荐指数
1
解决办法
2239
查看次数

caffe安装:opencv libpng16.so.16连接问题

我试图在Ubuntu 14.04机器上使用python接口编译caffe.

我安装了Anaconda和opencv conda install opencv.我还安装了咖啡中规定的所有要求并更改了注释块,makefile.config以便PYTHON_LIB和PYTHON_INCLUDE指向Anaconda发行版.

当我打电话时make all,发出以下命令:

g++ .build_release/tools/caffe.o -o .build_release/tools/caffe.bin -pthread 
-fPIC -DNDEBUG -O2 -DWITH_PYTHON_LAYER 
-I/home/andrei/anaconda/include 
-I/home/andrei/anaconda/include/python2.7 
-I/home/andrei/anaconda/lib/python2.7/site-packages/numpy/core/include
-I/usr/local/include 
-I/home/andrei/anaconda/lib 
-I/lib/x86_64-linux-gnu 
-I/lib64 
-I/usr/lib/x86_64-linux-gnu 
-I.build_release/src 
-I./src 
-I./include 
-I/usr/include 
-Wall -Wno-sign-compare -lcaffe 
-L/home/andrei/anaconda/lib 
-L/home/andrei/anaconda/lib/././ 
-L/usr/local/lib -L/usr/lib 
-L/home/andrei/anaconda/lib/././libpng16.so.16 
-L/lib/x86_64-linux-gnu 
-L/lib64 
-L/usr/lib/x86_64-linux-gnu 
-L/usr/lib 
-L.build_release/lib  
-lcudart -lcublas -lcurand -lglog -lgflags -lprotobuf -lleveldb -lsnappy 
-llmdb -lboost_system -lhdf5_hl -lhdf5 -lm 
-lopencv_core -lopencv_highgui -lopencv_imgproc -lboost_thread -lstdc++ 
-lboost_python -lpython2.7 -lcblas -latlas \
-Wl,-rpath,\$ORIGIN/../lib
Run Code Online (Sandbox Code Playgroud)

但是,它会被以下错误集停止:

/usr/bin/ld: warning: libpng16.so.16, needed by /home/andrei/anaconda/lib/libopencv_highgui.so, not found …
Run Code Online (Sandbox Code Playgroud)

python ubuntu opencv anaconda caffe

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

启用远程访问neo4j 4.2社区版

由于在家工作,我需要一种方法来监视远程 neo4j 实例 - 最好通过 Web 浏览器实例。

在过去(例如在3.0中)它可以通过修改单个配置行轻松实现。

不幸的是,在 4.2 版本中,情况不再是这样了 - 该线路不再存在,并尝试引导新的连接器配置以相同的方式工作,即更改:

# HTTP Connector. There can be zero or one HTTP connectors.
dbms.connector.http.enabled=true
#dbms.connector.http.listen_address=:7474
#dbms.connector.http.advertised_address=:7474

# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=false
#dbms.connector.https.listen_address=:7473
#dbms.connector.https.advertised_address=:7473
Run Code Online (Sandbox Code Playgroud)

# HTTP Connector. There can be zero or one HTTP connectors.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=0.0.0.0:7474
#dbms.connector.http.advertised_address=:7474

# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=0.0.0.0:7473
dbms.connector.https.advertised_address=0.0.0.0:7473
Run Code Online (Sandbox Code Playgroud)

没有成功 - :7474 和 :7473 仍然无法访问。

remote-access neo4j

3
推荐指数
1
解决办法
687
查看次数

Python kivy:如何在C盘外使用filechooser访问文件

我是Kivy的初学者.

当我尝试在kivy.uix.filechooser模块上重新实现教程时,我只能访问我的C:驱动器上的文件,而不能访问其他驱动器上的文件.我试图寻找filechoser的根源,但无济于事.

有没有办法访问其他驱动器?

python filechooser kivy

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

为什么Python3执行一段注释掉的代码?

在使用 Python 8 年多之后,我今天遇到了 Python 3.8 的问题:它执行了我注释掉的代码。

我能够中断它,因为它正在通过应该被注释阻止的代码路径以获得此屏幕截图:

在此处输入图片说明

正如函数名称所示,有问题的操作回滚有点耗时,我很想知道发生了什么以避免将来处理它。

我目前最好的解释是,由于代码在远程机器上运行,无论出于何种原因,代码启动时都没有进行注释,而是为堆栈跟踪进行了注释。

有没有人有类似的经历或知道可能发生的事情?

python python-3.x

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

Python:知道函数是从单元测试中调用的吗?

有没有办法在Python中知道从单元测试执行或调试运行的上下文调用函数?

对于上下文,我正在尝试对使用执行数据库调用的函数的代码进行单元测试.为了避免在测试该函数期间进行数据库调用(DB调用单独测试),我试图让DB IO函数知道它们的环境,并模拟在单元测试中调用它们并在调试期间记录其他变量跑.

我目前的方法是读取/写入环境变量,但它似乎有点过分,我认为Python必须有更好的机制.

编辑: 以下是我尝试进行单元测试的函数示例:

from Database_IO import Database_read

def some_function(significance_level, time_range)
    data = Database_read(time_range)
    significant_data = data > significance_level
    return significant_data
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-unittest

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

在CLion中查看CPython代码

抱歉,对于一个经验丰富的开发人员来说,这个问题可能看起来很愚蠢:我仍然是C和C ++的新手。

我来自Python / Java开发领域,正在尝试更好地了解C和C ++。我安装了JetBrains CLion并克隆了CPython mercurial存储库。但是,当我开始查看源代码时,我意识到Clion强调了许多似乎有效的构造。例如: 在此处输入图片说明

要么

在此处输入图片说明

据我所知,Clion似乎在Python和C代码的标识样式方面存在问题,但再次,我可能是错的。

如何更改Clion配置以使其正确解析CPython代码?

c cpython clion

0
推荐指数
2
解决办法
786
查看次数