# How to install plugins (not clearly documented)

**URL:** <https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022>\
**Category:** Help\
**Created:** [February 15, 2022, 9:16am UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022 "2022-02-15T09:16:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![hamaryns](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/hamaryns/32/630_2.png) [@hamaryns](https://discourse.beets.io/u/hamaryns)\
**Post date:** [February 15, 2022, 9:16am UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022/1 "2022-02-15T09:16:13Z")

</div>

Hi all,

Beginner here, working my way through the docs. I found it unclear how to install plugins and when this would be necessary or not. After a while, somewhere the command

` $ pip install beets[plugin]`

showed up, but it is not explicitly documented. I would suggest an addition to the page [using plugins](https://beets.readthedocs.io/en/stable/plugins/index.html#using-plugins), a paragraph called ‘Installing plugins’, with the above line in it and also some hint on how to know whether a plugin is already installed, since that is my second question: I get an error message after adding `fromfilename` to my plugin list:  
`** error loading plugin from: Traceback (most recent call last): File "/home/hendrik2/.local/lib/python3.8/site-packages/beets/plugins.py", line 268, in load_plugins namespace = __import__ (modname, None, None) ModuleNotFoundError: No module named 'beetsplug.from'`

but `$ pip install beets[fromfilename]` gives  
`Requirement already satisfied: beets[fromfilename] in ./.local/lib/python3.8/site-packages (1.6.0) WARNING: beets 1.6.0 does not provide the extra 'fromfilename'`

The tagger does seem to work though.

Any suggestions?

TIA, H.

---

<div class="post-metadata">

**Author:** ![9Mad-Max5](https://avatars.discourse-cdn.com/v4/letter/9/3da27b/32.png) [@9Mad-Max5](https://discourse.beets.io/u/9Mad-Max5)\
**Post date:** [February 15, 2022, 9:24am UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022/2 "2022-02-15T09:24:46Z")

</div>

Hi,

I think your approach is misleading yourself.  
I only used the complete docker container, so not 100% sure if I’m wright, but usually beets comes with all of it’s plugins installed.  
To make them active, you need to add the name of it in the plugins line in the config.yaml

---

<div class="post-metadata">

**Author:** ![hamaryns](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/hamaryns/32/630_2.png) [@hamaryns](https://discourse.beets.io/u/hamaryns)\
**Post date:** [February 15, 2022, 9:29am UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022/3 "2022-02-15T09:29:20Z")

</div>

Thanks for the quick reply.  
I do not understand what you mean by ‘the complete docker container’.  
I add the name of the plugins to the config file, of course. But then how do you explain the error code above? And I do had to do `pip install beets[fetchart,lyrics,lastgenre]` in order for these plugins to work.

TIA, H.

---

<div class="post-metadata">

**Author:** ![adrian](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/adrian/32/4_2.png) [@adrian](https://discourse.beets.io/u/adrian)\
**Post date:** [February 15, 2022, 12:21pm UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022/4 "2022-02-15T12:21:36Z")

</div>

Hello! The commands like `pip install beets[foo]` are only about installing the _Python dependencies_ for a plugin like `foo`. They don’t actually install the plugin; the plugins come along with beets itself.

The `fromfilename` plugin does not have any dependencies, so there’s nothing to install.

All you need to do is put `fromfilename` on your `plugins:` line in your config file. But it sounds like you probably have a space in there, something like `from filename`. So beets is trying to load a plugin called “from”, which doesn’t exist.

---

<div class="post-metadata">

**Author:** ![hamaryns](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.beets.io/hamaryns/32/630_2.png) [@hamaryns](https://discourse.beets.io/u/hamaryns)\
**Post date:** [February 15, 2022, 4:02pm UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022/5 "2022-02-15T16:02:25Z")

</div>

Oopsie, that was the problem indeed. Stupid me.

Thanks.

---

<div class="post-metadata">

**Author:** ![9Mad-Max5](https://avatars.discourse-cdn.com/v4/letter/9/3da27b/32.png) [@9Mad-Max5](https://discourse.beets.io/u/9Mad-Max5)\
**Post date:** [February 16, 2022, 10:41am UTC](https://discourse.beets.io/t/how-to-install-plugins-not-clearly-documented/2022/6 "2022-02-16T10:41:11Z")

</div>

This is kind of what I meant.  
I’m using beets inside the container from [linuxserver.io](http://linuxserver.io).  
Because of this, I wasn’t completely sure how the installation process and configuration is working if you install it directly from pip.

But I seem to be independent of the environment.
