how to addpath of +folder
    67 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
when I add path like
addpath('C:\+myfolder')
it shows
Warning: Package directories not allowed in MATLAB path:
Can I know how to solve it?
3 Commenti
  Brian C Coe
      
 il 18 Feb 2015
				
      Modificato: Brian C Coe
      
 il 18 Feb 2015
  
			when i try to open, edit, or find help for a file in one of these needlessly hidden folders matlab says it can't find it... despite the fact that the parent folder has been added to the path.
>> edit my_file
 Error using edit (line 61)
 Neither 'my_file' nor 'my_file.m' could be
 found.
Risposte (6)
  Steve
      
 il 5 Set 2018
        You have to use the syntax folder.mfile(vars), where "folder" is the folder name with the "+" before it and "mfile" is the function.
0 Commenti
  Al in St. Louis
      
 il 2 Nov 2017
        None of these answers actually helps.
6 Commenti
  Ralph
 il 29 Feb 2020
				The critical issue is twofold:
(1) The '+' indicator means it is a package folder
(2) packages in Matlab are a broken cludge
Functions within a package can not call one another unless every single one of them features the import function. And that import must have the name of the package. So you can't just put a bunch of related files in a package and be done. You have to go through every file and add the import command. Which is to say - packages in Matlab are a broken cludge.
  SK
      
 il 9 Ott 2014
        
      Modificato: SK
      
 il 9 Ott 2014
  
      Matlab does not allow you to add class directories or package directories individually to the path.
You have to add the parent directory instead and the class/package directory then gets automatically added.
2 Commenti
  Brian C Coe
      
 il 18 Feb 2015
				um, no it doesn't get automatically added.
i say that because when i try to open, edit, or find help for a file in one of these needlessly hidden folders matlab says it can't find it... despite the fact that the parent folder has been added to the path.
>> edit my_file
 Error using edit (line 61)
 Neither 'my_file' nor 'my_file.m' could be
 found.
  Adam
      
      
 il 19 Feb 2015
				Trying to edit a file from command line is a different action from Matlab being able to find the code to run the functions.
Having a package parent folder added to the path allows the latter, but for the former you will likely have to give a full path or path relative to your working directory because the package folders are not themselves on the path.
  YIN JEH NGUI
 il 11 Giu 2016
        This is due to "+" symbol in your folder name. Change it and you can add it. I faced the same issue and can only ammend the folder name for addpath to work. Bugs maybe?
1 Commento
  Adam
      
      
 il 13 Giu 2016
				The + defines that the folder is a package. Without it the folder is no longer a package so getting rid of it will not be helpful at all.
  Hyunuk Ha
    
 il 13 Lug 2021
        You should 'import' package directory, not 'addpath'. 
So, basically you may use pkg dir. as 
>> mypkg.myfile(in)
but after import pkg dir. 
>> import mypkg
then, you can use, 
>> myfile(in)
package directory can't be add to the path, but you can import it. 
Please refer to : 
https://www.mathworks.com/help/matlab/ref/import.html?searchHighlight=import&s_tid=doc_srchtitle
1 Commento
  Hyunuk Ha
    
 il 13 Lug 2021
				You may know (explicitly) imported pkg dir. has high priority than other public methods or built-in fcn. 
https://www.mathworks.com/help/matlab/matlab_prog/function-precedence-order.html
Vedere anche
Categorie
				Scopri di più su Search Path in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!