小编flu*_*ak7的帖子

为什么PyCharm会对某些Numpy导入提供未解决的引用错误?

PyCharm中的以下行通过动态检查进行标记,每次导入都有未解决的参考错误.(它们用红色加下划线.)

from numpy import tan, arcsin, arccos, arctan
Run Code Online (Sandbox Code Playgroud)

但是,以下导入不会导致任何错误/警告:

from numpy import sin, cos, arctan2, sqrt, cross, pi
Run Code Online (Sandbox Code Playgroud)

我使用这些导入的代码运行正常,没有任何错误或警告.我通常依赖PyCharm的红色错误作为警告我的代码被破坏而不会运行,但在这种情况下PyCharm是错误的.

为什么一些numpy的函数被PyCharm的内省和其他人所识别?

当前版本:

  • Windows 7 64位
  • Python 2.7.5
  • PyCharm 3.1.2
  • Numpy 1.8

谢谢!

python numpy pycharm python-2.7

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

在JetBrains PyCharm中禁用SQL检测

我试图键入以下行:

self._label = QtGui.QLabel("Select parameter from selected category")
Run Code Online (Sandbox Code Playgroud)

并且PyCharm决定我正在进行SQL查询或其他事情,并且没有配置任何数据连接.字符串中的语法突出显示发生了变化,Select并且from像关键字一样突出显示.因为我根本不使用SQL或任何数据库(我是一名程序工程师 - 我不使用数据库,抱歉)...我只是在PyCharm插件设置中禁用了SQL插件.

如果我想要打开插件,是否有一种不那么激烈的方法来禁用这种自动检查行为?它看起来很激烈,它Select x from y在字符串中看到它认为它是一个SQL查询.我尝试在Inspections设置下禁用所有SQL检查.

谢谢你的帮助.

python sql pycharm

12
推荐指数
3
解决办法
5629
查看次数

高效的 cython 文件读取、字符串解析和数组构建

所以我有一些看起来像这样的数据文件:

      47
   425   425  -3 15000 15000 900   385   315   3   370   330   2   340   330   2
   325   315   2   325   240   2   340   225   2   370   225   2   385   240   2
   385   315   2   475   240   3   460   240   2   460   255   2   475   255   2
   475   240   2   595   315   3   580   330   2   550   330   2   535   315   2
   535   240   2   550   225   2   580   225   2   595   240   2   595   315   2
   700   315   3 …
Run Code Online (Sandbox Code Playgroud)

python numpy cython

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

编辑表时关闭PyQt事件循环

我正在使用PyQt开发GUI.GUI有一个qListWidget,一个qTableWidget和一个用Mayavi实现的图.列表指的是绘制的形状(例如圆柱和圆锥).当在列表中选择一个形状时,我希望将形状的属性加载到表中(从字典变量中)和要在图中突出显示的形状.我有Mayavi密谋工作正常.此外,如果编辑了表格,我需要重新绘制形状,以反映新的属性值(如圆柱体,如果半径已更改).

因此,当选择列表项时 - >使用项的属性(从字典变量)更新表,突出显示项目上的项目

编辑表时 - >更新字典变量并重新绘制项目

问题:当我选择一个列表项并将数据加载到表中时,每次更新单元格时都会触发qTableWidget ItemChanged信号,这会触发不完整数据重新绘制形状的次数.

在以编程方式更新表时,是否存在禁用GUI事件循环的典型方法?(我有使用Excel VBA的经验,在该上下文中设置Application.EnableEvents = False将阻止每次以编程方式更新单元格时触发WorksheetChange事件.)我是否应该有一个"表更新进行中"变量以防止在执行操作时采取操作表正在更新?有没有办法一次更新Table Widget而不是逐项更新?(我承认我现在故意避开模型 - 视图框架,因此qListWIdget和qTableWidget).

有什么建议?

我是第一次发布海报,但却是StackOverflow的长期用户,所以我只是想提前感谢这样一个非常棒的社区!

python pyqt pyqt4 qtablewidget

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

嵌入Mayavi时,在vtkOutputWindow中禁用或捕获VTK警告

我想要禁用VTK警告窗口,或者更好的是,抓住它们来处理我的应用程序的日志记录系统.我的应用程序使用嵌入式mayavi视图,我不希望错误窗口弹出,我无法控制.以下代码演示了警告窗口.

import numpy as np
from mayavi import mlab

x1 = np.array([1, 1, 2, 3])
y1 = np.array([1, 1, 4, 2])
z1 = np.array([1, 1, 5, 1])

mlab.plot3d(x1, y1, z1)

mlab.show()
Run Code Online (Sandbox Code Playgroud)

好的,我做了一些研究,发现vtk.vtkObject.GlobalWarningDisplayOff()将完全禁用窗口,这很好.更好的是,下面的代码会将警告记录到文件中(在此处找到):

def redirect_vtk_messages ():
    """ Can be used to redirect VTK related error messages to a
    file."""
    import tempfile
    tempfile.template = 'vtk-err'
    f = tempfile.mktemp('.log')
    log = vtkpython.vtkFileOutputWindow()
    log.SetFlush(1)
    log.SetFileName(f)
    log.SetInstance(log)
Run Code Online (Sandbox Code Playgroud)

虽然这很好,但我仍然无法将警告直接传递给日志记录处理程序.我宁愿不必在常规日志文件旁边有一个vtk_log文件.此外,我可能想以某种方式处理我的GUI中的警告,或者让用户选择如何处理它们,并且不断观察日志文件的变化似乎是一种糟糕的方式.

关于在嵌入mayavi/vtk的应用程序中处理vtk警告的强大pythonic方法的任何建议?

logging vtk enthought python-2.7 mayavi

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

芹菜'入门'无法检索结果; 总是等待

我一直在尝试遵循Celery 与Celery后续步骤指南的第一步.我的设置是Windows 7 64位,Anaconda Python 2.7(32位),安装的Erlang 32位二进制文​​件,RabbitMQ服务器和芹菜(带pip install celery).

在指南之后,我使用init .py,tasks.py和celery.py 创建了一个proj文件夹.我的init .py是空的.这是celery.py:

from __future__ import absolute_import

from celery import Celery

app = Celery('proj',
             broker='amqp://',
             backend='amqp://',
             include=['proj.tasks'])

#Optional configuration, see the application user guide
app.conf.update(
    CELERY_TASK_RESULT_EXPIRES=3600,
    CELERY_TASK_SERIALIZER='json',
    CELERY_ACCEPT_CONTENT=['json'],  # Ignore other content
    CELERY_RESULT_SERIALIZER='json',
)

if __name__ == '__main__':
    app.start()
Run Code Online (Sandbox Code Playgroud)

这是task.py:

from __future__ import absolute_import

from .celery import app

@app.task
def add(x, y):
    return x + y


@app.task
def mul(x, y):
    return …
Run Code Online (Sandbox Code Playgroud)

python windows celery python-2.7

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

在SVN上的HG转换给出"看起来不像Subversion存储库"

我刚用Mercurial-2.9安装了TortoiseHG v2.11

我试图转换使用TortoiseSVN 1.8创建的本地Subversion存储库.4,Subversion 1.8.5

可以肯定,我的老Subversion版本库没有我创建了一个新的SVN回购称为test_repo用默认的文件夹结构的任何奇怪的怪癖,进行结帐到test_repowc,然后添加一些文本文件到躯干,然后修改并提交文件几次提供一些历史.

然后我打开cmd.exe,导航到该文件夹​​并尝试

hg convert test_repo
Run Code Online (Sandbox Code Playgroud)

并得到以下:

assuming destination test_repo-hg
initializing destination test_repo-hg repository
test_repo does not look like a CVS checkout
test_repo does not look like a Git repository
file:///C:/Users/xxxxxx/Documents/Subversion/test_repo does not look like a Subversion repository
test_repo is not a local Mercurial repository
test_repo does not look like a darcs repository
test_repo does not look like a monotone repository
test_repo does not look like a GNU Arch repository
test_repo does not look like a …
Run Code Online (Sandbox Code Playgroud)

svn tortoisesvn mercurial tortoisehg mercurial-convert

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

设置QFormLayout QLabel的垂直对齐方式

我正在使用 PySide/PyQt,但这是一个一般的 Qt 问题。

有没有办法设置 QFormLayout 以便标签垂直居中,而不必显式创建 QLabel 并将其垂直大小策略设置为首先扩展?当第 2 列中的小部件比我的标签高时,我希望我的标签与小部件垂直居中,而不是与其顶部对齐...

这是演示该问题的示例脚本。我将标签涂成红色,以更好地展示它们的尺寸行为。

from PySide import QtCore, QtGui

app = QtGui.QApplication([])

widget = QtGui.QWidget()
widget.setStyleSheet("QLabel { background-color : red}")

layout = QtGui.QFormLayout()
layout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
layout.setLabelAlignment(QtCore.Qt.AlignCenter)

editor1 = QtGui.QLineEdit()
editor1.setFixedSize(300, 100)

editor2 = QtGui.QLineEdit()
editor2.setFixedSize(300, 100)

layout.addRow('Input', editor1)
layout.addRow('Longer Named Input', editor2)

widget.setLayout(layout)

widget.show()

app.exec_()
Run Code Online (Sandbox Code Playgroud)

结果如下:

带有左上对齐标签的 QFormLayout 示例

下面是一个示例,通过显式创建 QLabel 并为其提供扩展大小策略来演示所需的结果:

from PySide import QtCore, QtGui

app = QtGui.QApplication([])

widget = QtGui.QWidget()
widget.setStyleSheet("QLabel { background-color : red}")

layout = QtGui.QFormLayout()
layout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
layout.setLabelAlignment(QtCore.Qt.AlignCenter)

editor1 = QtGui.QLineEdit() …
Run Code Online (Sandbox Code Playgroud)

qt pyqt alignment pyside qlayout

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

来自Enthought的Enaml示例不适用于Python(x,y)Ennthl的Enthought Tool Suite版本

我最近发现了Enaml,一个来自Enthought的Python GUI开发包.我非常有兴趣将它与Enthought Traits和Chaco一起用于更快速的科学应用开发.我一直在使用Python(x,y)作为我的基础Python安装,因为我喜欢Spyder(熟悉来自Matlab背景)我最初的目标是构建一个PyQt应用程序.

Python(x,y)附带了Enthought Tool Suite,它似乎包含了大部分Enthought内部开发的工具,如Traits,Chaco,Mayavi和Enaml.我在enaml上看到了pygotham幻灯片,并找到了看起来非常酷的教程示例!但是,当我尝试运行第一个示例时,我收到此错误:

回溯(最近调用最后一次):文件"C:\ Users\bnables\Documents\Python\enaml\person.py",第8行,来自enaml.stdlib.sessions import simple_session ImportError:没有名为sessions的模块

我刚刚发现我全新安装的Python(x,y)2.7.3.1有Enthought Tool Suite版本4.2和Enaml版本0.2 ......在线Enaml文档版本高达0.6.3版本.所以我想我的问题是 - Python(x,y)用户使用Enaml的最佳途径是什么?

我试图避免直接使用Enthought Python Distribution,因为我在工作中使用它并且没有购买付费版本的权限或资金.可以从Enthought源存储库更新内置于Python(x,y)中的Enthought工具套件吗?Enaml本身可以单独更新吗?

Enthought伙计们,我带你了解你最近宣布正式支持Stack Overflow问题!谢谢!

python enthought pythonxy traitsui epd-python

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