在Windows上,我通常只使用二进制安装程序,但是这次我只想在virtualenv中安装NumPy,所以我创建了一个虚拟环境:
virtualenv --no-site-packages --distribute summary_python
cd summary_python/Scripts
activate.bat
Run Code Online (Sandbox Code Playgroud)
然后我尝试安装NumPy
pip install numpy
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.我的pip.log粘贴在下面:
Downloading/unpacking numpy
Running setup.py egg_info for package numpy
non-existing path in 'numpy\\distutils': 'site.cfg'
F2PY Version 2
blas_opt_info:
blas_mkl_info:
libraries mkl,vml,guide not found in c:\Users\fname.lname\Documents\summary_python\lib
libraries mkl,vml,guide not found in C:\
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib
libraries ptf77blas,ptcblas,atlas not found in C:\
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib
libraries f77blas,cblas,atlas not found in C:\
NOT AVAILABLE
blas_info: …Run Code Online (Sandbox Code Playgroud) multiprocessing.Event和之间的区别是什么multiprocessing.managers.SyncManager.Event.我什么时候使用?为什么存在两个不同的对象
对于multiprocessing直接存在于Manager(Lock等)中的其他类似对象也存在同样的问题
在用于kd树的维基百科条目上,提出了一种用于在kd树上进行最近邻居搜索的算法.我不明白的是步骤3.2的解释.你怎么知道没有一个更接近的点只是因为搜索点的分裂坐标和当前节点之间的差异大于搜索点的分裂坐标与当前最佳点之间的差异?
最近邻搜索NN在2D中使用KD树搜索的动画
最近邻居(NN)算法旨在找到树中最接近给定输入点的点.通过使用树属性快速消除搜索空间的大部分,可以有效地完成此搜索.在kd树中搜索最近邻居的过程如下:
- 从根节点开始,算法以递归方式向下移动树,其方式与插入搜索点时相同(即,它向右或向左移动,具体取决于该点是大于还是小于当前节点.分裂维度).
- 一旦算法到达叶节点,它就将该节点保存为"当前最佳"
- 该算法展开树的递归,在每个节点执行以下步骤:1.如果当前节点比当前节点更接近,则它变为当前最佳节点.2.该算法检查在分裂平面的另一侧是否可能存在比当前最佳点更接近搜索点的任何点.在概念上,这通过使分裂超平面与搜索点周围的超球面相交来完成,该超球面具有等于当前最近距离的半径.由于超平面都是轴对齐的,因此将其实现为简单的比较,以查看搜索点的分割坐标与当前节点之间的差异是否小于从搜索点到当前最佳的距离(总坐标).1.如果超球面穿过平面,则在平面的另一侧可能存在更近的点,因此算法必须从当前节点向下移动树的另一个分支,寻找更近的点,遵循与之相同的递归过程.整个搜索.2.如果超球面不与分裂平面相交,则算法继续向上走树,并且消除该节点另一侧的整个分支.
- 当算法完成根节点的此过程时,搜索完成.
通常,算法使用平方距离进行比较以避免计算平方根.另外,它可以通过在变量中保持平方电流最佳距离来进行比较来节省计算.
我们有两个脑袋.一个是我们的主要开发负责人,另一个是我忘记了直到今天.我们发现了一个错误并将其修复到我们的主要开发分支中,我刚刚意识到它应该在旧分支中修复.
我认为最好在旧分支上进行更改并将其与最新分支合并,但我们并没有这样做.mercurial可以处理这个吗?我们还没有尝试过这样的事情,我无法真正理解它将如何完成.
我想知道是不是建议在SQLite(或其他SQL引擎)中使用CASE语句来替换数据.例如,假设我有一个查询.
SELECT Users,
CASE WHEN Active = 0 THEN 'Inactive'
WHEN Active = 1 THEN 'Active'
WHEN Active = 2 THEN 'Processing'
ELSE 'ERROR' END AS Active
FROM UsersTable;
Run Code Online (Sandbox Code Playgroud)
何时更好地创建引用表并执行JOIN.在这种情况下,我将使用ActiveID,ActiveDescription创建一个表'ActiveStatesTable'并执行JOIN.
我感兴趣的是不必将int函数映射到我当前拥有它的字符串元组.请参阅我的示例的最后一部分:
import os
import csv
filepath = os.path.normpath("c:/temp/test.csv")
individualFile = open(filepath,'rb')
dialect = csv.Sniffer().sniff(individualFile.read(1000))
individualFile.seek(0)
reader = csv.reader(individualFile,dialect)
names = reader.next()
print names
def buildTree(arityList):
if arityList == []:
return 0
else:
tree = {}
for i in xrange(arityList[0][0],arityList[0][1]+1):
tree[i] = buildTree(arityList[1:])
return tree
census = buildTree([(1,12),(1,6),(1,4),(1,2),(0,85),(0,14)])
for m, f, s, g, a, c, t in reader:
try:
m,f,s,g,a,c,t = map(int,(m,f,s,g,a,c,t))
census[m][f][s][g][a][c] += t
except:
print "error"
print m, f, s, g, a, c, t
break
Run Code Online (Sandbox Code Playgroud)
我想做的是这样的:
for m, f, …Run Code Online (Sandbox Code Playgroud) 这是我的输入:
ID Color 1 green 1 red 1 orange 1 green 1 red 2 red 2 red 2 blue 3 green 3 red
这是我在输出中想要的内容 - 每种颜色的ID记录数:
ID green red orange blue 1 2 2 1 0 2 0 2 0 1 3 1 1 0 0
我知道我可以使用proc freq获取信息,但我想输出一个与我上面写的完全相同的数据集.我似乎无法弄清楚如何使颜色成为此输出数据集中的列.
我开始使用IronPython开发Excel-DNA插件,并使用一些C#作为IronPython调用的包装器.在Excel-DNA开发人员的慷慨帮助下,我已经解决了启动和运行样本的一些初步问题,但现在我正在尝试调试SharpDevelop中的插件,我遇到了一些问题.由于我对大部分内容都是全新的,我不确定它是否是SharpDevelop,.NET,Excel-DNA或IronPython的问题.
我在一个解决方案中创建了两个项目,一个是C#类库.另一个是python类库.我按照我在博客上找到的教程设置项目进行调试.我能够逐步完成C#代码的前几行,所以这是进步,但是当我到达以下行时:
pyEngine.Runtime.LoadAssembly(myclass);
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
"无法加载文件或程序集'Microsoft.Dynamic,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.找到的程序集的清单定义与程序集引用不匹配.(HRESULT的异常:0x80131040 )"
但我很确定我已将Microsoft.Dynamic引用添加到我的项目中.它是版本1.1.0.20.这包含在IronPython发行版中,但也包含在我计算机上的其他位置.我已经尝试将引用设置为两者,但它们都具有相同的版本号并且看起来是相同的文件大小.两者都不起作用.我需要1.0.0.0版本还是我做错了什么?我真的不明白为什么pyEngine(Python.CreateEngine()返回的ScriptEngine)会尝试加载与发行版中包含的版本不同的版本.
代码如下.如果您需要任何其他信息,请与我们联系.
MyAddin.cs
/*
Added these references all as Local Copies - probably not necessary?
System.Windows.Forms
Microsoft.CSharp
ExcelDna.Integration (from Excel-DNA distribution folder)
IronPython (from IronPython folder)
IronPython.Modules (from IronPython folder)
Microsoft.Dynamic (from IronPython folder)
Microsoft.Scripting (from IronPython folder)
Microsoft.Scripting.Metadata (from IronPython folder)
mscorlib (I don't really know why I added this, but it was one of the references in my IronPython class library)
MyClass …Run Code Online (Sandbox Code Playgroud) 我想从Windows上的另一个程序调用SAS程序.我有一些在批处理模式下从命令行调用SAS的经验,但没有真正的经验从它接收消息并处理这些消息.我已经google了一下,发现了很多关于从SAS程序中读取stdin的信息,但我似乎无法弄清楚如何让我的SAS程序写出到stdout或stderr.我甚至可以在Windows中执行此操作吗?
从SAS程序,我想做以下事情:
这是我尝试过的:
SAS
data test;
attrib i length=8;
do i = 1 to 10;
put 'putting'; *how can i make this go to stdout?;
putlog 'putting to log'; *this can go to the log - that is okay;
if i = 5 then do;
*pretend this is an error I am manually detecting - how can i make this go to stderr?;
put 'we found 5';
end;
output;
end;
run;
data _null_;
1 = y; *this is …Run Code Online (Sandbox Code Playgroud) 我有一个AMI与Windows Server 2008作为EBS根设备.我可以使用boto和远程桌面启动它的实例,但我似乎无法安装它的临时存储.我的BlockDeviceMapping出了什么问题?
这是我的代码:
import boto
from boto.ec2.connection import EC2Connection
conn = EC2Connection(mykey, mysecretkey)
bdm = boto.ec2.blockdevicemapping.BlockDeviceMapping({'/dev/xvdb':'ephemeral0'})
conn.run_instances(myami, key_name=mykeyname,security_groups=[mysecgroup],block_device_map=bdm)
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,一个实例启动并且我可以访问,但我只看到根设备已挂载.
python ×5
sas ×2
.net ×1
amazon-ec2 ×1
boto ×1
branch ×1
c# ×1
cherry-pick ×1
excel-dna ×1
ironpython ×1
kdtree ×1
mercurial ×1
mysql ×1
numpy ×1
pip ×1
sharpdevelop ×1
sql ×1
sqlite ×1
virtualenv ×1
windows ×1