Tag: python

Google App Engine是否支持Python 3?

我开始学习Python 3.4,并希望开始使用库以及Google App Engine ,但大多数Python库仅支持Python 2.7 ,与Google App Engine相同。 我应该学习2.7还是有一个更简单的方法? (我的机器上可能同时有两个Python版本吗?)

什么是__path__有用?

我从来没有注意到今天之前在我的一些软件包上定义的__path__属性。 根据文件: 包支持一个更多的特殊属性, __path__ 。 在执行该文件中的代码之前,它被初始化为包含包含__init__.py的目录名称的列表。 这个variables可以修改; 这样做会影响将来对包中包含的模块和子包的search。 虽然此function通常不是必需的,但它可用于扩展包中的模块组。 有人可以向我解释这是什么意思,为什么我会想用它?

在Python中放置configuration文件的位置?

在开发模式下,我有以下目录树: | my_project/ | setup.py | my_project/ | __init__.py | main.py | conf/ | myproject.conf 我使用ConfigParser来parsingmyproject.conf文件。 在我的代码中,很容易用一个好的path加载文件: my_project/conf/myproject.conf 问题是:当我使用setup.py安装我的项目时,configuration文件(位于setup.py)位于/etc/my_project/myproject.conf ,我的应用程序位于/usr/lib/python<version>/site-packages/my_project/ 。 如何在“生产”模式下将my_project/conf/myproject.conf文件引用到我的项目中,并在“devel”模式下引用本地文件( my_project/conf/myproject.conf )。 另外,如果可能的话,我希望是可移植的(例如在Windows上工作)。 有什么好的做法呢?

在Firefox中的IPython Notebook中是否有与CTRL + C等效的function来分解正在运行的单元?

我已经开始使用IPython Notebook,并且很享受它。 有时候,我写的bug代码需要大量的内存需求,或者有一个无限循环。 我发现“中断内核”选项缓慢或不可靠,有时我必须重新启动内核,丢失内存中的所有内容。 我有时也编写脚本,导致O​​S X内存不足,我必须重新启动。 我不是100%确定的,但是当我之前编写过这样的错误并在terminal中运行Python时,我通常可以通过CTRL + C来执行我的脚本。 我在Mac OS X上使用Firefox的IPython笔记本的Anaconda发行版。

从eclipse运行时,closuresmatplotlib中已有的graphics

我的问题很简单:我有一个使用matplotlib生成数字的python脚本。 每次我运行它都会产生一个带有数字的新窗口。 我怎样才能让脚本closures上次运行时打开的窗口? 在matlab中类似的命令是在matlab脚本的开头放置'closures所有'。 我看到了几个build议来做类似的事情 import matplotlib.pyplot as plt plt.close("all") 如果你从python shell运行你的脚本,例如使用这个解决scheme >>>> execfile("myScript.py") 但是,我发现,如果我使用Eclipse / PyDev运行脚本,这是行不通的。 我怎样才能在Eclipse中工作? 例: from numpy import * from matplotlib.pyplot import * from scipy import * close("all") #close any previously open plots – this doesn't work when running via Eclipse t = linspace(0, 0.1,1000) w = 60*2*pi figure() plot(t,cos(w*t)) plot(t,cos(w*t-2*pi/3)) […]

从pandas返回多个值适用于DataFrame

我使用一个Pandas DataFrame按照这个例子进行一个按行的t检验: import numpy import pandas df = pandas.DataFrame(numpy.log2(numpy.randn(1000, 4), columns=["a", "b", "c", "d"]) df = df.dropna() 现在,假设我有一个“a”和“b”,另一个是“c”和“d”,我正在进行t检验。 对于pandas来说,这是相当平凡的,使用axis = 1的应用。 但是,如果我的函数没有聚合,我可以返回一个相同形状的DataFrame;如果聚合,我可以返回一个Series。 通常我只是输出p值(所以,聚合),但我想生成一个额外的价值基于其他计算(换句话说,返回两个值)。 我当然可以做两次运算,首先聚合p值,然后再做其他工作,但是我想知道是否有更高效的方法来处理,因为数据相当大。 作为计算的一个例子,一个低估的function是: from scipy.stats import ttest_ind def t_test_and_mean(series, first, second): first_group = series[first] second_group = series[second] _, pvalue = ttest_ind(first_group, second_group) mean_ratio = second_group.mean() / first_group.mean() return (pvalue, mean_ratio) 然后调用 df.apply(t_test_and_mean, first=["a", […]

在Pandas DataFrame Python中添加新列

我在Pandas中有数据框,例如: Col1 Col2 A 1 B 2 C 3 现在,如果我想添加一个名为Col3的列,并且该值是基于Col2的。 在公式中,如果Col2> 1,那么Col3是0,否则将是1.所以,在上面的例子中。 输出将是: Col1 Col2 Col3 A 1 1 B 2 0 C 3 0 任何想法如何实现这一目标?

“-U”选项在pip install -U中代表什么?

尽pipe大量的谷歌search,我找不到任何文档的PIP的命令行选项/参数。 pip install -U是什么意思? 有没有人有链接到点的选项和参数列表?

从virtualenv调用IPython

我明白,IPython不是virtualenv意识 ,最合理的解决scheme是安装ipython在每个virtualenv单独使用 pip install ipython 到现在为止还挺好。 我注意到的一件事是,如果IPython安装在这个virtualenv之前,如果在virtualenv中使用$> ipython调用IPython的系统范围副本,后续的$> ipython命令将继续调用系统范围的ipython副本。 另一方面,如果ipython在virtualenv下安装之前没有被调用, $> ipython会调出新安装的副本。 这是什么解释? 这也让我怀疑这个行为是否意味着我应该预料到一些麻烦?

制作一个python用户定义的类可sorting,可sorting

在python中使用用户定义的类可sorting和/或可sorting时,需要重写/实现哪些方法? 有什么需要注意的? 我在我的解释器中键入dir({})以获取内置字典中的方法列表。 其中,我假设我需要一些实现一些子集 ['__cmp__', '__eq__', '__ge__', '__gt__', '__hash__', '__le__', '__lt__', '__ne__'] Python3与Python2相比,在哪些方法中必须实现差异?