find the absolute path of a package
    12 次查看(过去 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 中查找有关 Matrix Indexing 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

