FAQ: Difference between revisions

Jump to navigation Jump to search
89 bytes added ,  28 July 2017
m
→‎Octave-Forge: Overhaul section improve code example.
(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:
 
## WARNING: loading all packages is probably not the solution you are looking for.
cellfun (@(x) pkg ("load", x.name), pkg ("list"));


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 {{codeline|pkg load pkg-name}}
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=

Navigation menu