Folder "addons_extern" is no longer recognized by Blender #43407

Closed
opened 2015-01-25 13:32:01 +01:00 by Riccardo Giovanetti · 11 comments

System Information
Mobile Intel Core i7 720QM (1.66GHz), Win7 Pro 64bit, 8GB RAM, NVIDIA GTS 360M with 1GB VRAM

Blender Version
Broken: Blender 2.73.4 64bit (Hash: 2855485), (blender-2.73-2855485-win64.zip); Blender 2.73.4 (Hash: 7733bd5), (win64_cmake_vc2013.zip)
Worked: Blender 2.73a 64bit (Hash: bbf09d9), (blender-2.73a-windows64.zip)

Short description of error
The "\addons_extern" folder within the \scripts folder is no longer recognized by Blender.

Exact steps for others to reproduce the error
I do follow the general rule to place all the add-ons which are not official (\addons) or contributed (\addons_contrib)
into its own dedicated folder named "\addons_extern" and this has always worked well (eg. Blender 2.73a works fine).
Today I dowloaded the current Windows 64bit build (Hash: 2855485) and Blender doesn't recognize this folder anymore, either
if I place it inside the user local path (C:\Users\USERNAME\appdata\roaming\Blender Foundation\2.73\scripts), usually to test daily builds,
userdata.jpg
or
inside an all-inclusive, selfcontained installation, ZIP file always, no Windows install (D:\Blender\blender-2.73-2855485-win64\2.73\scripts), for official releases usually.
StandaloneInstall.jpg

In both cases Blender doesn't seems to "see" this directory and its content. I tested also the win64_cmake_vc2013.zip version (Hash: 7733bd5) with the same results. Please, note that the screenshots were taken with before last revision (Hash: ae213d7) then I downloaded and tested the last one above referenced.

Here is a sample of the console messages (even running in debug mode it doesn't provide more clues):

Read new prefs: C:\Users\USERNAME\AppData\Roaming\Blender Foundation\Blender\2.73\config\userpref.blend
found bundled python: D:\Blender\blender-2.73-2855485-win64\2.73\python
Traceback (most recent call last):

File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable
  mod = __import__(module_name)

ImportError: No module named 'ies2cycles'
Traceback (most recent call last):

File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable
  mod = __import__(module_name)

ImportError: No module named 'luxrender'
Traceback (most recent call last):

File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable
  mod = __import__(module_name)

ImportError: No module named 'yafaray'
Traceback (most recent call last):

File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable
  mod = __import__(module_name)

ImportError: No module named 'link_sky_with_sun'
Traceback (most recent call last):

File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable
  mod = __import__(module_name)

ImportError: No module named 'mitsuba'

Hope the above might help you find out where the issue is. Thanks.

**System Information** Mobile Intel Core i7 720QM (1.66GHz), Win7 Pro 64bit, 8GB RAM, NVIDIA GTS 360M with 1GB VRAM **Blender Version** Broken: Blender 2.73.4 64bit (Hash: 2855485), (blender-2.73-2855485-win64.zip); Blender 2.73.4 (Hash: 7733bd5), (win64_cmake_vc2013.zip) Worked: Blender 2.73a 64bit (Hash: bbf09d9), (blender-2.73a-windows64.zip) **Short description of error** The "\addons_extern" folder within the \scripts folder is no longer recognized by Blender. **Exact steps for others to reproduce the error** I do follow the general rule to place all the add-ons which are not official (\addons) or contributed (\addons_contrib) into its own dedicated folder named "\addons_extern" and this has always worked well (eg. Blender 2.73a works fine). Today I dowloaded the current Windows 64bit build (Hash: 2855485) and Blender doesn't recognize this folder anymore, either if I place it inside the user local path (C:\Users\USERNAME\appdata\roaming\Blender Foundation\2.73\scripts), usually to test daily builds, ![userdata.jpg](https://archive.blender.org/developer/F139318/userdata.jpg) or inside an all-inclusive, selfcontained installation, ZIP file always, no Windows install (D:\Blender\blender-2.73-2855485-win64\2.73\scripts), for official releases usually. ![StandaloneInstall.jpg](https://archive.blender.org/developer/F139320/StandaloneInstall.jpg) In both cases Blender doesn't seems to "see" this directory and its content. I tested also the win64_cmake_vc2013.zip version (Hash: 7733bd5) with the same results. Please, note that the screenshots were taken with before last revision (Hash: ae213d7) then I downloaded and tested the last one above referenced. Here is a sample of the console messages (even running in debug mode it doesn't provide more clues): Read new prefs: C:\Users\USERNAME\AppData\Roaming\Blender Foundation\Blender\2.73\config\userpref.blend found bundled python: D:\Blender\blender-2.73-2855485-win64\2.73\python Traceback (most recent call last): ``` File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable mod = __import__(module_name) ``` ImportError: No module named 'ies2cycles' Traceback (most recent call last): ``` File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable mod = __import__(module_name) ``` ImportError: No module named 'luxrender' Traceback (most recent call last): ``` File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable mod = __import__(module_name) ``` ImportError: No module named 'yafaray' Traceback (most recent call last): ``` File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable mod = __import__(module_name) ``` ImportError: No module named 'link_sky_with_sun' Traceback (most recent call last): ``` File "D:\Blender\blender-2.73-2855485-win64\2.73\scripts\modules\addon_utils.py", line 306, in enable mod = __import__(module_name) ``` ImportError: No module named 'mitsuba' Hope the above might help you find out where the issue is. Thanks.

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @Harvester

Added subscriber: @Harvester
Campbell Barton was assigned by Bastien Montagne 2015-01-25 14:40:03 +01:00

Added subscriber: @mont29

Added subscriber: @mont29

Afaik 'addons_extern' is no more used since about one year now, and was only still working by incident. Campbell did some changes in this area last week, let’s see what he says. :)

Afaik 'addons_extern' is no more used since about one year now, and was only still working by incident. Campbell did some changes in this area last week, let’s see what he says. :)

There should be a strategy to manage addons "without" messing up the \addons and \addons_contrib folders that I use to keep in sync with the ones on the GIT repository. Thank you and I look forward to read Campbell's reply too.

There should be a strategy to manage addons "without" messing up the \addons and \addons_contrib folders that I use to keep in sync with the ones on the GIT repository. Thank you and I look forward to read Campbell's reply too.

In the meantime, I found out what have been deleted for some reason, and I modified the file named ..\2.73\scripts\modules\addon_utils.py reinstating the followings:

  1. under def paths(): after line 55 I added back
   addon_paths += _bpy.utils.script_paths("addons_extern")"
  1. at line 156, below # force alla contrib addons to be 'TESTING', I changed it as follow:
    if path.endswith(("addons_contrib", "addons_extern")):

Now everything seems to work fine. Is there anything else that need to be changed? Honestly, I do hope not to have to do the above for every new release. What's the reasoning behind this decision? Does it interfere with something else inside Blender which lead to its removal? Thank you.

In the meantime, I found out what have been deleted for some reason, and I modified the file named ..\2.73\scripts\modules\addon_utils.py reinstating the followings: 1) under def paths(): after line 55 I added back ``` addon_paths += _bpy.utils.script_paths("addons_extern")" ``` 2) at line 156, below # force alla contrib addons to be 'TESTING', I changed it as follow: ``` if path.endswith(("addons_contrib", "addons_extern")): ``` Now everything seems to work fine. Is there anything else that need to be changed? Honestly, I do hope not to have to do the above for every new release. What's the reasoning behind this decision? Does it interfere with something else inside Blender which lead to its removal? Thank you.

This is an intentional change.

You can have addons in your user-scripts directory. So you can still have your own personal addons path.

This is an intentional change. You can have addons in your user-scripts directory. So you can still have your own personal addons path.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

Thank you Campbell.

Yes, I knew about that option but it also states: "Alternate script path, matching the default layout with subdirs: startup, addons and modules (requires restart)" which implies that under a defined alternate script directory there must be the same folders structure, including \addons and \addons_contrib (but not \addons_extern), etcetera, right? To get this alternate scripts path works you have to create inside it an \addons or \addons_contrib directory in which then you copy your personal addons.

The \addons_extern folder worked perfectly, keeping "personal" addons separated from those two official repositories. Just for curiosity, could you tell me which was the motivation for removing this folder option? Thanks.

Thank you Campbell. Yes, I knew about that option but it also states: "Alternate script path, matching the default layout with subdirs: startup, addons and modules (requires restart)" which implies that under a defined alternate script directory there must be the same folders structure, including \addons and \addons_contrib (but not \addons_extern), etcetera, right? To get this alternate scripts path works you have to create inside it an \addons or \addons_contrib directory in which then you copy your personal addons. The \addons_extern folder worked perfectly, keeping "personal" addons separated from those two official repositories. Just for curiosity, could you tell me which was the motivation for removing this folder option? Thanks.

Your right (addons/ in your user-scripts path can be used).

The addon_extern directory was added spesifically for an SVN repository, before we moved to git, this hasn't been used for a long time.
It was removed because it no longer serves a purpose.

Your right (addons/ in your user-scripts path can be used). The addon_extern directory was added spesifically for an SVN repository, before we moved to git, this hasn't been used for a long time. It was removed because it no longer serves a purpose.

I understand, so I hope you don't mind if I will keep modding locally that file (addon_utils.py) with future releases of Blender, because this works perfectly for my needs as it did in the last four years. I've never used that directory for SVN but only to keep order in the addons management, consistently with the three categories shown in the scripts catalog (Release, Contrib, and External).

Kind regards.

I understand, so I hope you don't mind if I will keep modding locally that file (addon_utils.py) with future releases of Blender, because this works perfectly for my needs as it did in the last four years. I've never used that directory for SVN but only to keep order in the addons management, consistently with the three categories shown in the scripts catalog (Release, Contrib, and External). Kind regards.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#43407
No description provided.