Tag: python

在生产中使用Django的Sql Server

有没有人有最近的经验与部署一个SQL Server数据库后端的Django应用程序? 我们的工作场所大量投资于SQL Server,如果没有足够开发的后端,它将不会支持Django。 我知道mssql.django-pyodbc和django-mssql作为非正式支持的后端。 这两个项目似乎只有一个人的贡献,这是一个有点担心,虽然贡献似乎有点规律。 是否有任何其他支持SQL Server的后端? 我在这里提到的两个“足够好”的生产? 你有什么经验?

Scala / Java中类似于Python的Pickle的简单,无障碍,零样板序列化?

在Scala / Java中有没有一种简单,轻松的序列化方法,类似于Python的pickle? Pickle是一个非常简单的解决scheme,它在空间和时间上相当高效(即不是糟糕的),但不关心跨语言的可访问性,版本控制等,并允许可选的定制。 我所知道的是: Java的内置序列化非常慢( [1] , [2] ),臃肿和脆弱。 当有些东西可以清楚地序列化,但是没有注释的时候(比如很less的Point2D作者标记这些Serializable),也必须将类标记为Serializable。 Scala的BytePickle需要大量的样板文件来处理你想要的任何types,即使这样它也不能和(循环)对象图一起工作 。 jserial : 没有维护, 似乎没有那么快/比默认的Java序列化更小 。 kryo : 不能(取消)序列化没有0-参数的对象 ,这是一个严重的限制。 (你也必须注册你计划序列化的每一个课程,否则你会显着减速/膨胀 ,但即使如此,它仍然比腌菜更快。) protostuff :AFAICT,你必须事先在“schema”中注册你想要序列化的每个类。 Kryo和protostuff是我find的最接近的解决scheme,但是我想知道是否还有其他东西(或者如果有一些方法可以使用,我应该知道)。 请包括使用示例! 理想情况下还包括基准。

使用Python setuptools安装后的脚本

是否可以指定安装后的Python脚本文件作为setuptools setup.py文件的一部分,以便用户可以运行此命令: python setup.py install 在本地项目文件存档或 pip install <name> 为一个PyPI项目和脚本将运行在标准setuptools安装完成? 我正在寻找执行安装后任务,可以编写在一个Python脚本文件(例如,提供一个自定义的安装后的消息给用户,从另一个远程源库拉额外的数据文件)。 几年前我遇到了这个解决这个问题的答案,听起来好像当时的共识是你需要创build一个install子命令。 如果情况仍然如此,那么是否有人可以提供一个如何执行此操作的示例,以便用户不必input第二个命令来运行脚本?

卷积neural network的无监督预训练

我想devise一个(或多个)卷积层(CNN)和一个或多个完全连接的隐藏层的深层networking。 对于具有完全连接层的深度networking,在无监督预训练中使用例如使用去噪自动编码器或RBM的方法 。 我的问题是:我怎样才能实现一个无监督的卷积层预训练阶段? 我不期望一个完整的实现作为答案,但我将不胜感激链接到一个很好的教程或可靠的参考。

我如何在本地开发OAuth?

我正在构build一个需要与OAuth服务提供者进行通信的Python应用程序。 SP要求我指定一个callbackURL。 指定localhost显然是行不通的。 我无法build立一个面向公众的服务器。 除了支付服务器/托pipe任何想法? 这甚至有可能吗?

Eventlet或gevent或Stackless + Twisted,Pylons,Django和SQL Alchemy

我们正在广泛使用Twisted来为需要大量asynchronousIO的应用程序。 有些情况下,cpu绑定的东西,为此,我们产生了一个进程池来完成这项工作,并有一个系统来pipe理这些跨多个服务器 – 所有在Twisted中完成。 很好用。 问题是很难让新的团队成员加快速度。 在Twisted中编写asynchronous代码需要接近垂直的学习曲线。 就好像人类自然不会这么想。 我们也许正在考虑一个混合的方法。 也许将xmlrpc服务器部分和进程pipe理保存在Twisted中,并且至less在一定程度上看起来同步的代码中实现其他东西,而不是这样。 然后我又喜欢显式的隐含,所以我不得不多思考这个问题。 无论如何上greenlets – 这种东西有多好? 所以有Stackless,就像你从Gallentean头像中看到的那样,我很清楚它在第一手中共旗舰EVE在线游戏中的巨大成功。 那么Eventlet或gevent呢? 那么现在只有Eventlet可以和Twisted一起使用。 然而gevent声称更快,因为它不是纯粹的python实现,而是依赖于libevent。 它还声称有较less的特质和缺陷。 gevent据我所知,它由1个人维护。 这让我有些le然心动,但所有伟大的项目都是以这种方式开始的……所以有PyPy–我甚至还没有完成关于这个的阅读 – 只是在这个线程中看到: Stackless的缺点 。 所以令人困惑 – 我想知道做什么 – 听起来像Eventlet可能是最好的select,但它是否足够稳定? 有谁在那里有任何经验呢? 我们是否应该selectStackless,而且它已经被certificate是技术 – 就像Twisted一样 – 而且它们确实很好地协同工作。 但是我仍然不希望有一个独立的Python版本来做到这一点。 该怎么办…. 这个有点令人讨厌的博客条目为我打了头:虽然asynchronousIO成年人我不明白Twisted是像Java一样对我来说,Java通常是在线程的思维方式,但无论如何。 不过,如果那个猴子补丁的东西真的有效,那么哇。 哇!

Python:string的语义相似度得分

有没有用于计算一对句子的语义相似度分数的库? 我知道WordNet的语义数据库,以及如何为2个单词生成分数,但是我正在寻找能够在整个句子和输出中执行所有预处理任务(如端口词干,停用词删除等)的库两个句子如何相关的分数。 我发现了一个使用.NET框架编写的工作 ,它使用一系列预处理步骤来计算分数。 有没有任何项目,在Python中做到这一点? 我不是在寻找能够帮助我find分数的操作顺序(就像这里要求的那样) 我喜欢自己实现每个阶段,或者从不同的库中粘贴函数,以便它可以用于句对,但是我主要需要这个工具来testing数据的推论。 编辑:我正在考虑使用NLTK和计算每两个单词对这两个句子迭代的得分,然后从结果的标准偏差中得出推论,但我不知道这是否是一个合理的相似性估计。 另外,这将花费很长的时间。 再次,我正在寻找已经实现这个智能的项目/库。 东西,让我这样做: import amazing_semsim_package str1='Birthday party ruined as cake explodes' str2='Grandma mistakenly bakes cake using gunpowder' >>similarity(str1,str2) >>0.889

用于预测事件顺序的机器学习algorithm?

简单的机器学习问题。 可能有很多方法来解决这个问题: 有4个可能的事件的无限stream: 'event_1', 'event_2', 'event_4', 'event_4' 事件不是以完全随机的顺序进来的。 我们将假设大多数事件的顺序都有一些复杂的模式,其余事件都是随机的。 我们不知道提前模式。 在收到每个事件之后,我想根据事件发生的顺序来预测下一个事件。 所以我的问题是: 什么机器学习algorithm应该用于这个预测? 然后告诉预测者下一个事件实际上是什么: Predictor=new_predictor() prev_event=False while True: event=get_event() if prev_event is not False: Predictor.last_event_was(prev_event) predicted_event=Predictor.predict_next_event(event) 问题出现在预测者应该维持多久的历史,因为保持无限的历史将是不可能的。 我会留给你回答。 答案虽然是实用的,但是不能被解释。 所以我相信这个预言必须用某种滚动历史来完成。 因此,添加新事件并过期旧事件应该是相当有效的,并且不要求重build整个预测器模型。 具体的代码,而不是研究论文,将增加我的巨大的价值 ,你的回应。 Python或C库很好,但任何事情都可以。 更新:如果每轮都能同时发生多个事件,那该怎么办? 这是否改变了解决scheme?

打包和发送python库和脚本,专业的方式

我有包装和运输商业应用程序包的任务,其中包括: 一个python库(由我们开发) 一些python程序依赖于上面的库 额外的图书馆不是由我们开发的,但依赖于我们的图书馆。 一个完整的python安装(python 2.6) 额外的东西,库和其他语言的程序。 这里不用担心,因为他们没有挂钩上述机器,目前的运输过程已经运作。 该软件包已发布到Linux,OSX和Windows。 在Linux上,它分布为一个简单的tar.gz. 用户只需解压缩tar.gz文件,并在.bashrc提供一个提供的bash脚本,以便正确设置环境。 在Mac上,这是一个伤害。 在窗户上,我不知道。 窗户的家伙今天不在这里,但我看到的是一个EXE是以某种方式创build的。 现在我将更详细地解释以上几点。 我们的Python库 我们不想给出源,所以我们只想提供编译好的python文件。 一个更好的策略,使他们更篡改是值得欢迎的,即使它涉及一些深入的黑客攻击(例如,我曾经看到魔术完成从一个.zip这是“腐败”特设)import的东西。 图书馆目前没有C级代码或类似的平台相关代码,但是这将很快改变。 因此,我们将不得不提供特定于平台的编译.so和pyc。 显然,这个图书馆将与我们的其他应用程序一起在包装中发货。 因此它将被安装在下载的软件包上。 由于这个原因,它必须是完全可重定位的,并且用户必须以某种方式(手动或通过我们的env脚本)将未解包的包的位置添加到PYTHONPATH中,以便解释器能够find它。 我们的Python程序 我们将在我们的软件包中发布应用程序,这些应用程序将取决于我们的库。 这些应用程序的代码必须是用户可见的(以便他可以学习如何使用库接口),或者不可见(对于那些我们要保持闭源的应用程序),所以需要双重方法。 额外的库 我们的图书馆取决于我们将不得不运送的第三方图书馆,以便用户在没有任何依赖性的情况下运行。 显然,这些库将被我们安装在捆绑包中,但是我们必须希望这些库不会在构build过程中将安装path存储在某处,因为这会使它们不可重定位。 我们的python 我们将运送我们的python版本,我们假定用户将运行以访问我们的脚本。 这是因为我们想要确保运行的python版本。 另外,我们可能会修改一下可执行文件或标准库。 我们可能会担心这个python和标准python的交互作用,如果用户想在我们的python上使用特定的库,它将不得不在我们的捆绑软件包中安装它,而不是在库的标准位置。 请求 我需要围绕这个任务进行思考。 我已经看到了它,但从来没有亲自做过,所以我需要你的观点。 上面提到的是我认为事情应该如何工作,根据现在的情况如何,但这可能是错误的。 任何暗示,怪癖,build议或策略的成功部署是受欢迎的。 考虑到这个问题的复杂性,根据我所能得到的最佳答案,我已经宣布了很高的奖励。

你如何在本地开发OpenID

我正在开发一个使用OpenID来validation用户的网站(在Django中)。 由于我目前只在本地机器上运行,所以无法使用networking上的某个OpenID提供程序进行身份validation。 所以我想我需要运行一个本地OpenID服务器,只需让我input一个用户名,然后将其传递回我的主应用程序。 这样的OpenID dev服务器是否存在? 这是最好的方式去做呢?