find the absolute path of a package
25 次查看(过去 30 天)
显示 更早的评论
Hi!
is there an obvious way to find out the absolute path of a package? I mean, if I define a package directory some where in my file system, say,
mkdir <mypath>/+myPackage
and the add its location to the path
addpath <mypath>
then myPackage is active and I can invoke functions from there. But how can I ask the system where this package resides? I mean
which myPackage
does not work. I could make a which to a function inside the myPackage, yes, but I have hundreds of packages, and packages inside packages, and they don't contain the same functions.
any idea? Daniel
0 个评论
采纳的回答
Guillaume
2014-12-3
编辑:Guillaume
2014-12-3
It's the what function you want:
s = what('event'); %there may be several packages with the same name. s may be an array of structs
s.path
You can also get a lot of information from the meta.package classes (but not the path unfortunately):
mpack = meta.package.fromName('event')
allpackages = meta.package.getAllPackages
更多回答(1 个)
Image Analyst
2014-12-3
If you know the name of one of the m-files in the package, then you can do this:
% Determine folder where someFunction.m lives.
folder = fileparts(which('someFunction.m'));
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Search Path 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!