1,852
edits
(Lots of reordering.) |
m (→Octave-Forge: Overhaul section improve code example.) |
||
Line 240: | Line 240: | ||
== How do install or load all Octave-Forge packages? == | == How do install or load all Octave-Forge packages? == | ||
Do not do it! Really, there is no reason to do this. Octave has many | Do not do it! Really, there is no reason to do this. Octave has many packages for different needs and is unlikely that you need all of them. You either have a small set of required packages, in which case | ||
packages for different needs and is unlikely that you need all of | you know them by name; or you want them all "just because", in which case you don't really need them. | ||
them. You either have a small set of required packages, in which case | |||
you know them by name; or you want them all "just because", in which case | |||
you don't really need them. | |||
The common misconception is that the more packages one has installed | The common misconception is that the more packages one has installed and loaded, the more complete and powerful its Octave installation will be. However, in the same way one would never install all perl modules, ruby gems, python packages, and C++ libraries (because it simply makes no sense), one should not install all Octave packages. | ||
and loaded, the more complete and powerful its Octave installation will be. | |||
However, in the same way one would never install all perl modules, | |||
ruby gems, python packages, and C++ libraries (because it simply makes | |||
no sense), one should not install all Octave packages. | |||
Packages should be installed and loaded selectively. Note that some | Packages should be installed and loaded selectively. Note that some packages are meant to shadow core functions changing the way Octave works, and that different packages can have different functions with the same name leading to unpredictable results. | ||
packages are meant to shadow core functions changing the way Octave works, | |||
and that different packages can have different functions with the same name | |||
leading to unpredictable results. | |||
If you really really really want to do load all packages, you can with the following: | |||
<syntaxhighlight lang="octave"> | |||
## WARNING: loading all packages is probably not the solution you are looking for. | |||
cellfun (@(x) pkg ("load", x.name), pkg ("list")); | |||
</syntaxhighlight> | |||
== How do I automatically load a package at Octave startup? == | == How do I automatically load a package at Octave startup? == | ||
When Octave starts, it runs {{Path|~/.octaverc}}. If you want Octave to | When Octave starts, it runs the file {{Path|~/.octaverc}} (in your user's home directory). If you want Octave to automatically load a package, simply add a <code>pkg load pkg-name</code> command to it. If the files does not exist, create it. | ||
automatically load a package, simply add a | |||
command to it. If the files does not exist, create it. | |||
If you do this, remember that other people may not have Octave configured | If you do this, remember that other people may not have Octave configured to load packages at startup. Therefore, if you write code for others, remember that your programs still need to load the packages they require. | ||
to load packages at startup. Therefore, if you write code for others, | |||
remember that your programs still need to load the packages they require. | |||
=Octave usage= | =Octave usage= |