我想使用一个OrderedDict,其中键是一个枚举,并且该项是某个类.
我如何使用输入模块来暗示这一点?什么是这个暗示的namedtuple ::
Move = typing.NamedTuple('Move', [('actor', Actor), ('location', Location)])
Run Code Online (Sandbox Code Playgroud) 我有一个开发服务器,主要运行基于python的应用程序.我喜欢像cloud9这样的工具界面,但由于我有一台服务器,我宁愿在我自己的服务器上有类似的东西.这就是我所说的"自托管".我只需要编辑本地文件(即该服务器上的文件).
服务器正在运行Ubuntu服务器12.04.cloud9显然可用于自托管,但我从未使用过node.js,如果可能的话我不想了解它.我知道云9还提供与其他服务器的ssh集成,但我希望找到一个可以在Ubuntu上轻松安装并轻松配置的软件包.
stackoverflow上有一个类似的问题,但从2009年开始.
我可以在ipython notebook小部件中向button.on_click注册一个处理程序,但我不知道如何为下拉小部件执行相同操作
import ipywidgets as widgets
from IPython.display import display
def on_button_clicked(b):
print("Button clicked.")
button = widgets.Button(description="Click Me!")
display(button)
button.on_click(on_button_clicked)
Run Code Online (Sandbox Code Playgroud)
但对于
choose_task = widgets.Dropdown(
options=['Addition', 'Multiplication', 'Subtraction'],
value='Addition',
description='Task:',
)
Run Code Online (Sandbox Code Playgroud)
似乎只有
on_trait_change(...)
Run Code Online (Sandbox Code Playgroud)
如果我用这个注册处理程序,我可以用它来访问小部件的值吗?我看过处理程序的例子,小部件属于一个子类,处理程序可以使用self来内省.但是如果我不想使用子类,那么处理程序如何知道哪个小部件是事件的目标.
我想对使用github的python包进行一些更改.我已经分叉了.它是我在项目中使用的库(在python 3.5.1虚拟环境中).
https://pip.pypa.io/en/latest/reference/pip_install/#vcs-support上的文档告诉我如何从github fork安装,然后提到"可编辑的安装"(https:// pip.pypa.io/en/latest/reference/pip_install/#editable-installs)基本上做"开发模式"
如果它是一个纯python包,我跳过可编辑模式是否重要?
(因为我不需要构建步骤,因为我只会更改python代码.这意味着我可以继续使用相同的import语句.)
我是Docker的新手.我正在使用Docker和docker-compose,通过一个烧瓶教程.基础docker镜像是python 2.7 slim.它在Linux上运行.docker 1.11.2应用程序运行正常.我想让pycharm pro连接到远程解释器,这是我以前从未做过的事情.
我按照docker-compose的说明进行操作.最初它失败了,因为它无法连接到端口2376.我将此端口添加到docker-compose.yml并且错误消失了.但是,尝试保存配置现在会停止/挂起对话框"获取远程解释器版本".这永远不会完成.另外,我不能退出pycharm.这发生在Pycharm 2016.2和2016.3 EAP(第二版)中.
帮助说"将助手复制到服务器需要SFTP支持".这是否意味着我需要做点什么?
是否有一个Python静态分析工具可以检测函数参数何时发生变异,从而导致副作用?
that is
def foo(x):
x.append("x at the end")
Run Code Online (Sandbox Code Playgroud)
当 x 是列表时,将更改调用范围 x。
这可以可靠地检测到吗?我这样问是因为这样的工具可以更容易地遵守纯函数方法。
我想装饰器可以用来警告它(用于开发),但这不像静态分析那么可靠。
使用 python 3.5.1。以及当前使用 git 安装的 mypy,mypy 标记错误 1 和 2,但未报告 3
我做错了什么,或者这是一个错误,还是一个已知的问题?
import typing
def test_ordered_dict(od: typing.Dict[str,int]) -> typing.Dict[str,int]:
return 1 #type error 1
a = test_ordered_dict(1) #type error 2
def test_me():
a = test_ordered_dict(1) # type error 3 is not reported
Run Code Online (Sandbox Code Playgroud) 有可能给jupyter笔记本小部件一个焦点吗?我在代码中看不到文档或提示吗?
如果副驾驶插件建议完成,选项卡会给我完成。
如何忽略补全并只获取一个制表符(例如在 Python 中缩进一行)?
我正在使用一个名为customDialog的类,它基于http://effbot.org/tkinterbook/tkinter-dialog-windows.htm
.标准代码创建了一个子类Toplevel,并创建模态对话框.我正在尝试调整代码,以便它也可以创建无模式对话框.标准代码调用Toplevel构造函数,创建对话框,然后 self.wait_window(self)在最后执行,等待对话窗口被关闭.但我没有成功.
我天真的尝试是简单地跳过wait_window()(这是我的代码中的尝试在下面剪断).我尝试过其他一些东西,但对话框仍然是模态的,也就是说,我无法与应用程序的主窗口进行交互.是什么迫使它是模态的?通常,对话框包含小部件和几个按钮.
class Dialog(Toplevel):
def __init__(self, parent, title = None,modal=True):
Toplevel.__init__(self, parent)
self.transient(parent)
if title:
self.title(title)
self.parent = parent
self.result = None
body = Frame(self)
#register validators
self.validatePosInt = (body.register(self.OnValidatePosInt),
'%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W')
self.initial_focus = self.body(body) #this calls the body function which is overridden, and which draws the dialog
body.grid()
self.buttonbox()
self.grab_set()
if not self.initial_focus:
self.initial_focus = self
self.protocol("WM_DELETE_WINDOW", self.cancel)
self.geometry("+%d+%d" % (parent.winfo_rootx()+50,
parent.winfo_rooty()+50))
self.initial_focus.focus_set() …Run Code Online (Sandbox Code Playgroud)