我想将一些软件包安装到第三方site-packages目录中(超出标准系统位置).有没有办法设置它,以便其中的.pth文件得到尊重?
背景:我正在使用OS X,virtualenv和自制软件.有一些软件包(特别是我的wxPython)不能通过pip很好地安装到virtualenv中.在这些情况下,有自制软件包可以替代它们.Homebrew在中创建了第三个site-packages文件夹/usr/local/lib/python2.7.我想简单地指向这个文件夹,并将所有项目的维护保留在brew控制之下.但是,似乎这是不可能的.
$PYTHONPATH不会加载.pth文件.(OS X上的Python 2.6应该在$ PYTHONPATH中处理多个easy-install.pth文件吗?)add2virtualenv.pth文件添加了一些额外的智能,只是简单地列出了目录,但我相信它只是重新排序路径列表.我当然不是唯一对这个问题感兴趣的人.我打赌大量的通用"pth文件无法正常工作"的问题和在线发帖,我偶然发现与这个问题有关.有一个很好的解决方案吗?
自R2009b起,MATLAB通过其键盘快捷键首选项获得了非常出色的键盘快捷键.这非常适合在Mac上使用命令和控件自定义快捷方式.
不幸的是,那些键绑定似乎无法覆盖MATLAB的内置字符映射.例如,如果我将option-f定义为cursor-next-word(a la emacs),则它接受绑定.按下组合键可以将光标正确移动到下一个单词,但它还可以打印ƒ字符!我相信这是来自角色地图(也许与输入地图相对?).无论EditorMacro也不键绑定能够覆盖此行为.
我从一个与我相关的问题中偶然发现了这个问题.简而言之,他定义了一个Java类,它可以处理键盘事件并用其他键击输入替换它们.但是,该解决方案仅适用于Windows上的规定.要在Mac上运行,需要进行以下修改:
我需要将密钥代码更改为重新映射以在字符串中"按下",如下所示:
map = {
'$' '^'
'#' char(181) % might be useful for text formatting
};
Run Code Online (Sandbox Code Playgroud)
至:
map = {
'alt pressed F' '^'
'alt pressed B' char(181) % might be useful for text formatting
};
Run Code Online (Sandbox Code Playgroud)
不幸的是,在运行代码之后,按下选项-f yield cursor-next-word和ƒ字符,就像之前一样.但是,如果我cursor-next-word从首选项中禁用绑定,那么我得到两个 ƒ和^!实际上,即使我使用类似的简单动作pressed F,KeyReplacementAction也不会取代动作,而是增加动作.看起来这种行为对OS X上的MATLAB来说是独一无二的.
好像我只是没有覆盖正确的键盘映射.我已经尝试过挖掘Java运行时,但我对事件调度模型不太熟悉,知道接下来要去哪里看.也许是Java的OS级关键映射中的某些内容?
编辑 …
我正在做很多矩阵运算,并希望利用C99的restrict指针限定符.
我想设置我的矩阵作为指针的指针,以便轻松下标,如下所示:
int **A = malloc (ncols * sizeof(int *));
A[0] = malloc (nrows * ncols * sizof(int));
for (int i=1; i < ncols; i++) {
A[i] = A[0] + i*nrows;
}
Run Code Online (Sandbox Code Playgroud)
现在,对于矩阵乘法函数
void mmultiply ( int nrows, int ncols, int **Out, int **A, int **B);
Run Code Online (Sandbox Code Playgroud)
我必须将参数的两个指针限定为受限制吗?这是有效的语法,但我很难确定int *restrict *restrict行为是否有任何不同int **restrict.
那么,指针被正确限制,是通过A[0][col*nrows + row]undefined 访问元素?(即,将编译器假设我仅通过访问矩阵A[col][row]对的值row,使得row < nrow)?或者我必须保持一致吗?
Visual Studio 2010中的Intellisense将C代码解释为C++,并将错误标记为不存在,如:
struct my_struct *s = malloc(sizeof *s);
Run Code Online (Sandbox Code Playgroud)
这是有效的C,但不是有效的C++.
有没有什么办法解决这一问题?
我在文件中有一个Julia函数.让我们说它是下面的.现在我想将参数传递给这个函数.我试过了
julia filename.jl randmatstat(5)
Run Code Online (Sandbox Code Playgroud)
但是这会给出一个'('令牌是意外的错误.不确定解决方案是什么.如果有一个主要功能/如何使用Julia编写完整的解决方案,我也有点不知所措.例如,什么是起点/ Julia计划的切入点?
function randmatstat(t)
n = 5
v = zeros(t)
w = zeros(t)
for i = 1:t
a = randn(n,n)
b = randn(n,n)
c = randn(n,n)
d = randn(n,n)
P = [a b c d]
Q = [a b; c d]
v[i] = trace((P.'*P)^4)
w[i] = trace((Q.'*Q)^4)
end
std(v)/mean(v), std(w)/mean(w)
end
Run Code Online (Sandbox Code Playgroud) 我正试图以iTunes Genre浏览器的风格为我的核心数据模型创建一个简单的界面.
我有三个实体的模型设置:Genre <-->> Artist <-->> Album.
我想简单地将它们分别绑定到NSTableView,但看起来好像从NSArrayController访问子关系不符合KVC.所以,我很难将所选的Genre对象传递给ArtistController.
你怎么做到这一点?在没有任何自定义子类化的IB中甚至可能吗?
编辑后人: 我做错了几件事.
Entity模式,而是作为一个NSMutableDictionary类运行.Content Set绑定从父级检索它.使用控制器键selection和连接到子项的模型键路径.p.Brian的答案和MacResearch教程都有助于确定我的错误(以及我有哪些部分).
我有一个长度为5秒的正弦曲线,如下所示:
x=sin(0:.01:2*pi*500*5);
Run Code Online (Sandbox Code Playgroud)
现在我想通过给出类似如下的命令来听到这个波形的音频:
playsound(x,samplingfrequency);
Run Code Online (Sandbox Code Playgroud)
如果我能将这个音频数据写入wav或mp3文件,对我来说会很有用.这个功能需要什么库以及julia中的等效命令?
我有一个类型AbstractT,我想要定义一个构造函数的每个子类型T(x::Tuple),但我找不到一个通用的方法来做它,因为像这样的Julia中的所有东西都使用dispatch,但我不能在构造函数上调度,因为构造函数的名称匹配类型,所以每个构造函数是一个不同的函数.即如果有的话,它会起作用
construct{T<:AbstractT}(::Type{T},x::Tuple) = # Define all the constructors
Run Code Online (Sandbox Code Playgroud)
我在内部这样做,但它不能很好地与其他将直接调用T(x)和错误的包.朱莉娅是否以某种方式使用发动机罩下的调度?
假设我们有一个如下所示的DataFrame:
day_of_week ice_cream count proportion
0 Friday vanilla 638 0.094473
1 Friday chocolate 2048 0.663506
2 Friday strawberry 4088 0.251021
3 Monday vanilla 448 0.079736
4 Monday chocolate 2332 0.691437
5 Monday strawberry 441 0.228828
6 Saturday vanilla 24 0.073350
7 Saturday chocolate 244 0.712930 ... ...
Run Code Online (Sandbox Code Playgroud)
我想要一个新的DataFrame day_of_week作为索引折叠,所以它看起来像这样:
day_of_week vanilla chocolate strawberry
0 Friday 0.094473 0.663506 0.251021
1 Monday 0.079736 0.691437 0.228828
2 Saturday ... ... ...
Run Code Online (Sandbox Code Playgroud)
我能实现这个最干净的方法是什么?
您可以定义一个函数来将其关键字参数传递给内部函数,如下所示:
function example(data;xcol,ycol,kwargs...)
DoSomething(; spec=:EX, x=xcol, y=ycol, kwargs...)
end
Run Code Online (Sandbox Code Playgroud)
现在,该函数DoSomething接受许多参数,例如color. 这适用于函数,但我想用 VegaLite.jl 中的宏来做到这一点:
function example(data;xcol,ycol,kwargs...)
@vlplot(data=data,mark=:point, x=xcol, y=ycol,kwargs...)
end
example(df,xcol=:Miles_per_Gallon, ycol=:Horsepower, color=:Origin)
Run Code Online (Sandbox Code Playgroud)
请注意,上面的代码不起作用。