小编Eri*_*lun的帖子

py2exe无法生成可执行文件

我在XP上使用python 2.6.我刚刚安装了py2exe,我可以从hello.py成功创建一个简单的hello.exe.但是,当我尝试在我的真实程序中使用py2exe时,py2exe会产生一些信息消息,但无法在dist文件夹中生成任何内容.

我的setup.py看起来像这样:

from distutils.core import setup
import py2exe

setup(console=['ServerManager.py'])
Run Code Online (Sandbox Code Playgroud)

并且py2exe输出如下所示:

python setup.py py2exe
running py2exe
creating C:\DevSource\Scripts\ServerManager\build
creating C:\DevSource\Scripts\ServerManager\build\bdist.win32
   ...
   ...
creating C:\DevSource\Scripts\ServerManager\dist
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'wx._misc_' (C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_misc_.pyd -> wx._misc_.pyd)
creating python loader for extension 'lxml.etree' (C:\Python26\lib\site-packages\lxml\etree.pyd -> lxml.etree.pyd)
   ...
   ...
creating python loader for extension 'bz2' (C:\Python26\DLLs\bz2.pyd -> bz2.pyd)
*** finding dlls needed ***
Run Code Online (Sandbox Code Playgroud)

py2exe似乎找到了我的所有导入(虽然我有点惊讶看到win32提到,因为我没有明确导入它).此外,我的程序使用此命令非常愉快地启动:

python ServerManager.py
Run Code Online (Sandbox Code Playgroud)

显然我正在做一些根本错误的事情,但是在没有来自py2exe的任何错误消息的情况下我不知道是什么.

python wxpython py2exe

51
推荐指数
5
解决办法
6万
查看次数

Scala profiler?

我最近开始在Scala编程.我正在寻找一个免费的Scala分析器.从该语言的官方网站阅读带我到YourKit,但该程序不是免费的.

谷歌搜索"scala profiler"没有给我任何相关的结果.

那么如何描述用Scala编写的程序呢?我更喜欢Netbeans或Eclipse的图形插件.但如果没有这样的东西,那么一个控制台就可以了.

谢谢 :)

profiler scala

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

使用Leiningen的JVM选项

当我使用lein启动Clojure时,如何设置-server等选项?

clojure

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

在Git中, - (破折号)意味着什么?

在阅读Git命令的手册页时,您经常会看到一个可选的--(破折号).根据我的经验,这--不是必要的,没有任何区别.你什么时候需要它?一般来说它是什么意思,因为它出现在如此众多的命令中?

git

46
推荐指数
2
解决办法
9640
查看次数

使用"Scala中的Prolog"查找可用的类型类实例

考虑到https://speakerdeck.com/folone/theres-a-prolog-in-your-scala,我想"滥用"Scala类型系统来查找CanBuildFrom符合给定条件的所有实例.Prolog风格,我会评估以下伪代码的行:

can_build_from(Src, int, list[int])
Src = somecollectiontype1[int]
Src = somecollectiontype2[int]
... etc
Run Code Online (Sandbox Code Playgroud)

即运行时将查找Src满足该语句的所有值can_build_from(Src, int, list[int]).

现在,我知道,原始的约束/逻辑编程环境,斯卡拉隐含查询系统,并不意味着使用这种技巧,并且不能用于"重返"不止一个发现价值Src出来的箱,所以我的问题是:是否有一个"魔术",使其工作,所以无论如何我会得到所有可能的值XCanBuildFrom[X, Int, List[Int]]

附加示例:

trait CanFoo[T, U]

implicit val canFooIntString  = new CanFoo[Int,     String] {}
implicit val canFooDblString  = new CanFoo[Double,  String] {}
implicit val canFooBoolString = new CanFoo[Boolean, String] {}
implicit val canFooIntSym     = new CanFoo[Int,     Symbol] {}
implicit val canFooDblSym     = new CanFoo[Double,  Symbol] {}
implicit val canFooBoolSym    = …
Run Code Online (Sandbox Code Playgroud)

scala logic-programming constraint-programming type-level-computation shapeless

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

我什么时候想使用Free Monad + Interpreter模式?

我正在开发一个项目,除其他外,涉及数据库访问层.非常正常,真的.在之前的项目中,合作者鼓励我将Free Monads概念用于数据库层,所以我做到了.现在,我正在尝试在我的新项目中决定我获得了什么.

在之前的项目中,我有一个看似相似的API.

saveDocument :: RawDocument -> DBAction ()
getDocuments :: DocumentFilter -> DBAction [RawDocument]
getDocumentStats :: DBAction [(DocId, DocumentStats)]
Run Code Online (Sandbox Code Playgroud)

大约二十个这样的公共职能.为了支持它们,我有了DBAction数据结构:

data DBAction a =
      SaveDocument          RawDocument         (DBAction a)
    | GetDocuments          DocumentFilter      ([RawDocument] -> DBAction a)
    | GetDocumentStats                          ([(DocId, DocumentStats)] -> DBAction a)
    | Return a
Run Code Online (Sandbox Code Playgroud)

然后是monad实现:

instance Monad DBAction where
    return = Return
    SaveDocument doc k >>= f = SaveDocument doc (k >>= f)
    GetDocuments df k >>= f = GetDocuments df (k >=> f)
Run Code Online (Sandbox Code Playgroud)

然后是口译员.然后是实现每个不同查询的原始函数.基本上,我觉得我有大量的胶水代码.


在我当前的项目中(在一个完全不同的领域),我已经为我的数据库添加了一个非常普通的monad: …

monads dsl haskell free-monad

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

究竟是什么让Option成为Scala中的monad?

我知道monad是什么以及如何使用它们.我不明白的是,是什么Option一个单子?

在Haskell中,monad Maybe是一个monad,因为它是从Monad类中实例化的(它具有至少2个必要的函数return,bind并且实现了类Monad,实际上是monad).

但是在Scala我们有这个:

sealed abstract class Option[+A] extends Product with Serializable { ... }
trait Product extends Any with Equals { ... }
Run Code Online (Sandbox Code Playgroud)

没有任何与monad相关的东西.

如果我在Scala中创建自己的类,默认情况下它是monad吗?为什么不?

monads haskell functional-programming scala maybe

36
推荐指数
3
解决办法
7823
查看次数

BufferedInputStream的用法

让我在这篇文章前面加上一点谨慎.在Java方面,我是一个初学者.我已经开启和关闭了PHP一段时间,但我已经准备好制作一个桌面应用程序,所以我决定使用Java,原因有很多.

我正在处理的应用程序处于开始阶段(少于5个类),我需要从本地文件中读取字节.通常,文件目前小于512kB(但将来可能会变大).目前,我使用a FileInputStream将文件读入三个字节数组,完全满足我的要求.但是,我已经看到了一个BufferedInputStream提到的,并且想知道我目前这样做的方式是最好的,还是我应该使用一个BufferedInputStream.

我做了一些研究,并在Stack Overflow上阅读了一些问题,但是我仍然遇到麻烦,了解何时使用而不使用的最佳情况BufferedInputStream.在我的情况下,我读取字节的第一个数组只有几个字节(小于20).如果我收到的数据在这些字节中是好的,那么我将文件的其余部分读入另外两个不同大小的字节数组.

我也听过很多人提到分析,看看哪个在每个特定情况下哪个更有效,但是,我没有剖析经验,我不确定从哪里开始.我也会喜欢这方面的一些建议.

对于这么长的帖子我很抱歉,但我真的想学习并理解做这些事情的最佳方法.我总是习惯于第二次猜测我的决定,所以我会喜欢一些反馈.谢谢!

java bufferedinputstream fileinputstream

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

宏 - >匿名函数

我理解宏 - >在clojure中应用了为给定参数提供的所有函数.但是,它似乎不适用于匿名函数(在clojure 1.3.0上).例如:

user> (-> 4 inc inc dec)
5
Run Code Online (Sandbox Code Playgroud)

但:

user> (-> 4 #(+ % 1) #(- % 1) #(+ % 1))
Run Code Online (Sandbox Code Playgroud)

返回错误:

clojure.lang.Symbol cannot be cast to clojure.lang.IPersistentVector
[Thrown class java.lang.ClassCastException]
Run Code Online (Sandbox Code Playgroud)

如果有人知道解决方法会有所帮助.谢谢!

macros lambda clojure

33
推荐指数
3
解决办法
4083
查看次数

为什么隐式defs需要implicitConversions而不是类?

据我所知,隐式转换可能导致可能难以理解的代码,或代码遭遇其他问题(甚至可能是错误?),这就是为什么它们需要显式启用才能在代码中使用而不会收到警告.

但是,假设隐式转换在很大程度上(如果不是大部分时间)用于包装具有另一种类型的对象的对象,那么隐式类也是如此 - 如果我错了,我会感激你纠正我 - 为什么前者需要进口scala.language.implicitConversions但后者不需要?

object Main extends App {
  implicit class StringFoo(x: String) {
    def fooWithImplicitClass(): Unit =
      println("foo with implicit class")
  }
  // => silence.

  "asd".fooWithImplicitClass()

  /************************/

  class Foo(x: String) {
    def fooWithImplicitDef(): Unit =
      println("foo with implicit def")
  }
  implicit def string2Foo(x: String) = new Foo(x)
  // => warning: implicit conversion method string2Foo should be enabled

  "asd".fooWithImplicitDef()
}
Run Code Online (Sandbox Code Playgroud)

scala type-conversion implicit-conversion

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