要点:在setup.py中检测到我们被触发的最佳方法是pip install package什么?
背景:我有一个包(C库的绑定),我提供包含库本身的蛋.在我的自述文件中,我注意到这个软件包在某些平台上是"easy_install-able".从源代码构建时(例如使用pip),库本身就是构建依赖项.问题是我经常让那些错误地认为pip完全替代easy_install的用户感到困惑,并期望pip install package在没有库的系统上工作,或者甚至没有编译器,其中的鸡蛋是他们真正想要的.
我想检测到构建是由pip触发的,所以如果由于缺少库而失败,我可以提供友好的"pip!= easy_install"消息.它不需要是完美的,只需抓住最常见的情况pip install package.在检查时,似乎没有一种特别强大的方法来做到这一点,我想出的最好的是:
probably_using_pip = '--single-version-externally-managed' in sys.argv
Run Code Online (Sandbox Code Playgroud)
是否有更好的(或更好的,官方的)方法来检测来自setup.py的pip?
我在IPython中做了一些非常简单的PySide(和PyQt)教程.一个教程只是创建一个带有一些滑块的窗口来演示插槽和信号.
当我关闭正在运行的演示应用程序的窗口时,我看到此错误:
An exception has occurred, use %tb to see the full traceback.
SystemExit: 0
To exit: use 'exit', 'quit', or Ctrl-D.
Run Code Online (Sandbox Code Playgroud)
所以我运行%tb并得到这个:
SystemExit Traceback (most recent call last)
/Workspaces/scratch/<ipython-input-1-88966dcfb499> in <module>()
33
34 if __name__ == "__main__":
---> 35 main()
/Workspaces/scratch/<ipython-input-1-88966dcfb499> in main()
29 w.show()
30 app.exec_()
---> 31 sys.exit(0)
32
33
SystemExit: 0
Run Code Online (Sandbox Code Playgroud)
如果我再次尝试执行我的代码,我会得到这个:
RuntimeError: A QApplication instance already exists.
Run Code Online (Sandbox Code Playgroud)
如果它有帮助,这里我的代码:
from PySide.QtCore import *
from PySide.QtGui import *
import sys
class MyWindow(QWidget):
def __init__(self):
QWidget.__init__(self, None)
vbox …Run Code Online (Sandbox Code Playgroud) 我正在试验,IPython.parallel只是想在不同的引擎上启动几个shell命令.
我有以下笔记本:
单元格0:
from IPython.parallel import Client
client = Client()
print len(client)
5
Run Code Online (Sandbox Code Playgroud)
并启动命令:
单元格1:
%%px --targets 0 --noblock
!python server.py
Run Code Online (Sandbox Code Playgroud)
单元格2:
%%px --targets 1 --noblock
!python mincemeat.py 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
单元格3:
%%px --targets 2 --noblock
!python mincemeat.py 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
它的作用是使用mincemeatMapReduce 的实现.当我启动第!python mincemeat.py 127.0.0.1一个核心时,它大约使用100%的一个核心,然后当我启动第二个核心时,每个核心降低到50%.我在机器上有4个核心(+虚拟核心),可以直接从终端启动而不是在笔记本电脑中使用它们.
有什么我想念的吗?我想为每个!python mincemeat.py 127.0.0.1命令使用一个核心.
编辑:
为清楚起见,这是另一个不使用多核的东西:
单元格1:
%%px --targets 0 --noblock
a = 0
for i in xrange(100000):
for j in xrange(10000):
a += 1
Run Code Online (Sandbox Code Playgroud)
单元格2:
%%px --targets 0 --noblock
a = …Run Code Online (Sandbox Code Playgroud) 我遇到了问题.我有一个由31个元素组成的数组,称为颜色.我还有另一个数组,其整数在0到31之间变化,这称为c.我想生成一个新数组,其中c中的值现在是颜色中的相应值.
我写:
newarray =颜色并[c]
但得到错误消息"列表索引必须是整数",但c是一个整数数组.我是python的新手,没有时间做教程,因为我只需要它来进行特定的绘图任务.有人能帮我一把吗?
谢谢
在PyCharm的IPython控制台中运行代码时是否可以点击图形断点?
即:
我在我的本地机器(Mac)上使用Python(IPython和Canopy)和RESTful内容API.
我有一个由3000个唯一ID组成的数组,用于从API中提取数据,并且一次只能使用一个ID调用API.
我希望能以某种方式同时制作3组1000个电话以加快速度.
这样做的最佳方式是什么?
在此先感谢您的帮助!
我想在远程计算机上连接到一个IPython笔记本(通过ssh-tunnel或https),让ipython笔记本在新窗口中打开matplotlib图(而不是'inline').
这可能吗?
当我试图在没有'内联'后端的情况下进行绘图时,笔记本核心报告':无法连接到X服务器',并崩溃.
X11服务器正在客户端计算机上运行,我在创建ssh-tunnel时使用-Y选项启用了X11转发.
谢谢你的建议.
我正在使用ZEROMQ进行分布式消息传递应用程序.需要将客户端(DEALER套接字)连接到多个服务器(服务器端的ROUTER套接字).在CLIENT方面我有哪些选择?
我尝试了选项2 - 连接到多个端点,但消息总是转到第一个连接的端点.遵循以下步骤:
在DEALER套接字中,如果特定端点连接到多个端点,则无法在特定端点上发送消息.
任何的想法?
我想密切监视从某个函数调用的函数调用链。
import pdb; pdb.set_trace()
res = api.InsertVideoEntry(video_entry, video)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来轻松查看api.insertVideoEntry(video_entry, video)调用foo()which call bar()which calls 的调用baz(),
这是一个非常粗糙的图表来说明我的意思。我不需要这种形式的信息,但这是我正在寻找的那种信息。
api.insertVideoEntry()
foo()
bar()
baz()
baz2()
log()
finish()
Run Code Online (Sandbox Code Playgroud) 按照这里的例子
http://www.randalolson.com/2013/01/14/filling-in-pythons-gaps-in-statistics-packages-with-rmagic/
我在IPython笔记本中的不同数据集上尝试了相同的操作.
https://github.com/burakbayramli/kod/blob/master/delltest/dell.tgz
from pandas import *
orders = read_csv("dell.csv",sep=",")
%load_ext rmagic
%R -i orders print(summary(orders))
Run Code Online (Sandbox Code Playgroud)
我明白了
Length Class Mode
[1,] 25 -none- list
[2,] 25 -none- list
[3,] 25 -none- list
..
Run Code Online (Sandbox Code Playgroud)
但是在R中也一样
data <- read.csv ("dell.csv",header=TRUE,sep=",")
print (summary(data))
Run Code Online (Sandbox Code Playgroud)
给我正确的摘要信息.
rank per_customer_count total_total_amount orderid
Min. : 1.000 Min. : 1.000 Min. : 0.14 Min. : 1
1st Qu.: 2.000 1st Qu.: 6.000 1st Qu.: 866.11 1st Qu.: 2964
Median : 4.000 Median : 8.000 Median : 1764.08 Median …Run Code Online (Sandbox Code Playgroud)