小编jul*_*icz的帖子

Eclipse PyDev完成挂起(又一次)

我在Eclipse中使用PyDev作为我的Python编辑器.它在功能集方面很好.一切都很好,除了一个非常烦人的事情:

代码完成本身很快.当我按下Alt + Space时,窗口几乎立即弹出,所有选项都在那里.选中顶部的选项.然后麻烦了.详细描述直到约5-10秒才出现.所有这些时间CPU都在最大负载下工作,并且接口没有响应.所有处理器都被Eclipse Java进程占用(生成的Python进程似乎空闲).然后弹出一个黄色窗口,它包含的只是所选函数/变量的Python代码.所有连续细节都会立即显示.当我关闭完成窗口时(例如,通过接受其中一个选项并再次要求完成),该过程重复进行.这让我发疯了.

我到目前为止尝试过:

  • 创建一个全新的工作区,
  • 从头开始创建Eclipse/PyDev项目,
  • 调整JVM以确保它有大量内存,
  • 确保选择正确的JVM(最新的Oracle JVM可用),
  • 确保Python进程与Java实例自由通信(我读到了可能存在的问题,但似乎不是问题).
  • 确保所有已安装的插件都是最新的.

我使用的版本是Eclipse Helios,因为我上次检查某些扩展时尚未移植到最新版本.

有没有人观察过类似的问题?有人能绕过它吗?有关如何调试它并提交合理的错误报告的一般想法可能吗?其他值得检查的东西.

任何解决方法都不如完全关闭完成?

谢谢!

编辑:

我也注意到HTML/CSS编辑器中类似弹出窗口的问题.它看起来有点相似(一个黄色的窗口,里面有一些文字),它也需要很长时间才能显示出来.不知道这是否相关,但可能是.

EDIT(2):

好吧,不,我已经开始全新安装最新的Eclipse Indigo,除了PyDev之外没有任何额外的插件,问题仍然存在.好像我必须寻找新的IDE.

eclipse performance autocomplete hang

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

用于开发Facebook应用程序的Python框架

我想问你在Python中开发facebook应用程序的经验.您认为哪种流行的Web语言框架最适合此目的?我知道"最好"是一个非常主观的词,所以我特别感兴趣的是:

  • 最可重用的库.例如,人们可能希望为新登录的Facebook用户自动创建帐户,但同时提供备用用户名+密码记录功能.我需要身份验证才能很好地适应这一点.
  • Facebook应用程序往往与类似CMS的网站不同.他们是行动密集型的.对于更复杂的用例,通常需要对从Open Graph API获取的数据进行某种缓存,以便能够立即对本地和facebook数据执行某些查询(例如,根据友谊关系连接一些表).
  • 我绝对更喜欢流行的解决方案.他们似乎更稳定,更好地思考.我以前在Grails和我开发了一个facebook应用程序,因为我喜欢它的体系结构和一般的想法,我遇到的错误和复杂的数量只是有点太多了.Groovy仍然是一种非常具有异国情调的语言,而且这次我不打算单独工作.

我不是Python的新手,但对于Python中的Web开发来说肯定是新手.虽然在Grails的经历及其曲折之后我怀疑Python真的可以吓到我.

python facebook

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

Django ORM和工作单位

是否有任何简单的方法/库/外部应用程序将工作单元概念引入Django ORM?您使用什么方法或技术来解决在复杂模型设置中导入同一行两次而不会失去所有模块性的问题?

编辑

考虑以下的示例性情况 - 有Location一个与自身有关系的模型,称为通过其他模型的路径Route.现在让我们说每个Route都有称为:( entry_fare进入路线需要支付exit_fare的金额)和(在另一端退出路线需要支付的金额).现在让我们假设你要实现一个增强entry_fares和扩充的动作exit_fares.您还希望能够计算给定城市的票价总和.您可能希望在单个事务中执行一系列此类操作.读取(计算总和)比写入(增加票价)更频繁.

在一个简单的实现中,每次要计算总和时,您需要加载一组新的模型 - 以确保没有过时的数据.此外,扩充将每次在一组新模型上运行,并且在增加票价之后立即保存实例以确保来自数据库的进一步提取包括新票价值.

请记住,这只是作为一个例子.

python django orm django-models django-orm

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

如何在列表和ListT monad变换器之间进行干净的转换?

我目前正在编写一个项目,我大量使用ListTmonad变换器.使用普通列表时,实现非确定性很容易.但是,一旦我必须将我的代码转换为ListT,它就会变得更加复杂1.

举个简单的例子:转换[a]ListT a实际需要组成两个函数:

conv :: (Monad m) => [a] -> ListT m a
conv = ListT . return
Run Code Online (Sandbox Code Playgroud)

虽然很简单,但我很惊讶它还没有出现.

问题:

  • 有没有更好的方法来处理需要monad变换器的非确定性?
  • 是否有任何技术/库可以在列表之间来回干净地进行转换ListT

1确切的原因非常复杂,所以我真的不想详细说明.

monads haskell list non-deterministic monad-transformers

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

Amazon RDS 上 pg_terminate_backend 的权限

abc在 Amazon RDS 上的 PostgreSQL 数据库上有一个用户。据我所知,该用户是超级用户:

=> grant rds_superuser to abc;
NOTICE:  role "abc" is already a member of role "rds_superuser" GRANT ROLE
Run Code Online (Sandbox Code Playgroud)

我尝试终止一些交易,但是我得到:

=> select pg_terminate_backend(pid) from pg_stat_activity;
ERROR:  must be superuser or have the same role to terminate other server processes
Run Code Online (Sandbox Code Playgroud)

我广泛搜索了 Amazon RDS 文档,但仍然不明白。我哪里出错了?

postgresql permissions rdbms amazon-web-services amazon-rds

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

Python中的未绑定局部变量问题

我有一个以下代码片段:

def isolation_level(level):
    def decorator(fn):
        def recur(level, *args, **kwargs):
            if connection.inside_block:
                if connection.isolation_level < level:
                    raise IsolationLevelError(connection)
                else:
                    fn(*args, **kwargs)
            else:
                connection.enter_block()
                try:
                    connection.set_isolation_level(level)
                    fn(*args, **kwargs)
                    connection.commit()
                except IsolationLevelError, e:
                    connection.rollback()
                    recur(e.level, *args, **kwargs)
                finally:
                    connection.leave_block()
        def newfn(*args, **kwargs):
            if level is None: # <<<< ERROR MESSAGE HERE, Unbound local variable `level`
                if len(args):
                    if hasattr(args[0], 'isolation_level'):
                        level = args[0].isolation_level
                elif kwargs.has_key('self'):
                    if hasattr(kwargs['self'], 'isolation_level'):
                        level = kwargs.pop('self', 1) 
            if connection.is_dirty():
                connection.commit()
            recur(level, *args, **kwargs)
        return newfn
    return decorator
Run Code Online (Sandbox Code Playgroud)

它的作用并不重要,但是我将它以原始形式发布,因为我无法用更简单的方式重新创建这种情况. …

python bug-tracking exception function local-variables

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

Git产生“错误:有未合并的索引条目”

进行时:

git merge some-branch
Run Code Online (Sandbox Code Playgroud)

我懂了

BUG: There are unmerged index entries:
BUG: 3 docfatal: Bug in merge-recursive.c
Run Code Online (Sandbox Code Playgroud)

不知道这意味着什么,但是看起来比通常情况更令人意外。我应该怎么办?有一些清理命令可以帮助我吗?

编辑

更糟糕的是,此错误实际上是在我的源代码之一中传播的。正如some-branch最初只是我的本地工作一样,我将其推送到远程服务器上。然后克隆一个新的存储库,并尝试将上述分支合并到此副本上,并得到相同的消息。

编辑2

我使用GIT_MERGE_VERBOSITY = 5并得到:

$> export GIT_MERGE_VERBOSITY=5; git merge origin/funkload 
Merging:
a1ef5a2 Uaktualniony INSTALL.
virtual origin/funkload
found 2 common ancestor(s):
d2eb442 Resources py.
119871b Nowy commit w doc.
  Merging:
  d2eb442 Resources py.
  119871b Nowy commit w doc.
  found 1 common ancestor(s):
  62f4183 Poprawiony bug w obs?udze linków do resources, które s? null.
  Removing doc/concept/agreement.lyx
  Removing doc/concept/agreement.pdf
  Removing doc/concept/concept.lyx …
Run Code Online (Sandbox Code Playgroud)

git debugging merge fatal-error

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

如何在本地使用UndecidableInstances?

是的,我知道这UndecidableInstances可能很糟糕.我真的很努力地设计我的模块,所以它不需要它但是我有这样的东西:

instance Foo x (C x y) => Bar (C x y) where

    ...
Run Code Online (Sandbox Code Playgroud)

并且改变它会使API变得更加丑陋.我从来没有推出过Foo,Bar所以没有办法做出循环.

另一方面,UndecidableInstances使得愚蠢的错误容易被忽视.例如,我可以写错误的东西:

instance Foo x (C x z) => Bar (C x y) where

    ...
Run Code Online (Sandbox Code Playgroud)

在那里z从来没有在右侧出现.

问题:是否可以UndecidableInstances在模块中本地使用,即明确标记解除通常终止规则的位置?

当然它对终止没有帮助,但它会让决定更加明智地使用这个扩展.

问题2:是否有一些弱于此的东西UndecidableInstances仍然不能保证终止,但会禁止更多的边界线情况,如第二个代码片段?

haskell type-systems termination typeclass ghc

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

在Haskell中安全应用

我有一段代码,在列表monad中,应用了一个函数.函数可能潜在地为其参数进行非详尽的模式匹配.因此,当应用该函数时,我可能会收到"Non-exhaustive pattern matching"错误.我想将此错误转换为monadic失败(在这种情况下,为空列表).换句话说,我想得到一个类似的行为,当Some Pattern Here <- some value一个do块内部失败时会发生什么 .

问题:是否有一种有效的方法使功能应用程序安全?通过有效,我的意思是类似于使应用的功能完全匹配并明确失败.

monads haskell functional-programming exception-handling exception

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

模型内的金字塔事件

我正在使用Pyramid 1.4.我想从我的模型类中生成一些自定义Pyramid事件.事件生成如下:

request.registry.notify(MyCustomEventType("Here it comes"))
Run Code Online (Sandbox Code Playgroud)

如您所见,我需要访问应用程序注册表.我知道get_current_registry()功能.但我也很关注Pyramid网站上的评论:

"这个功能应该非常谨慎地使用,通常只在单元测试代码中使用"

问题:

  • 从数据层生成Pyramid事件(SQLAlchemy模型)一般是个坏主意吗?
  • 如果没有,如何以更文明的方式访问应用程序注册表?(Base或许扩展模型?)
  • 如果,是否有一些我可以使用的替代品.我知道SQLAlchemy事件,但我找不到生成自定义事件的能力.

理由:

基本上,我将我的应用程序划分为功能,并尝试将它们分离.为此,我有时需要IoC:我计划将事件作为一种手段.例如,每当用户回答问题时,都会发出事件.然后,可以在应用程序的其他部分订阅这样的事件.我喜欢将应用程序逻辑保留在模型中而不是视图中.因此,所描述的问题.

python events sqlalchemy thread-local pyramid

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