Hi

On Mon, 1 Aug 2022 at 16:01, Cherio <che...@gmail.com> wrote:

> I grepped the sources for 'azurecredentialcache':
>
> user@HOST:~/opt/pgadmin4$ grep -R azurecredentialcache .
> ./lib/python3.8/site-packages/pgadmin4/config.py:AZURE_CREDENTIAL_CACHE_DIR
> = os.path.join(DATA_DIR, 'azurecredentialcache')
>
> I do re-define DATA_DIR in my configuration file (see below) so it is
> unclear why it is trying to create something in "/var/lib/pgadmin":
>

Almost certainly because config_local.py is read at the end of config.py,
so the change you make to DATA_DIR isn't reflected by
AZURE_CREDENTIAL_CACHE_DIR.


>
> user@HOST:~/opt/pgadmin4$ cat
> ./lib/python3.8/site-packages/pgadmin4/config_local.py
> import os
> DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.config/pgadmin-v4/'))
> LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
> SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
> SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
> STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
> PGADMIN_INT_PORT=xxxx
> DEFAULT_SERVER_PORT=xxxx
> SERVER_MODE = False
> MASTER_PASSWORD_REQUIRED = False
>

Try adding the following to config_local.py:

AZURE_CREDENTIAL_CACHE_DIR = os.path.join(DATA_DIR, 'azurecredentialcache')

That will ensure it gets reset after you redefine DATA_DIR.

I think we have some docs/comments about re-defining things if you change
DATA_DIR; I'll go check they mention AZURE_CREDENTIAL_CACHE_DIR as well.


>
> I skipped version 6.11 and upgraded from 6.10 so I can't say whether this
> broke in 6.11 or 6.12.
>
> On Mon, Aug 1, 2022 at 10:09 AM Cherio <che...@gmail.com> wrote:
>
>> This was just a regular upgrade (I went through dozens of these).
>> The new 6.12 version fails to start with the following error message:
>>
>>   File "lib/python3.8/site-packages/pgadmin4/pgAdmin4.py", line 93, in
>> <module>
>>     app = create_app()
>>   File
>> "/path-to/opt/pgadmin4/lib/python3.8/site-packages/pgadmin4/pgadmin/__init__.py",
>> line 270, in create_app
>>     create_app_data_directory(config)
>>   File
>> "/path-to/opt/pgadmin4/lib/python3.8/site-packages/pgadmin4/pgadmin/setup/data_directory.py",
>> line 117, in create_app_data_directory
>>     _create_directory_if_not_exists(config.AZURE_CREDENTIAL_CACHE_DIR)
>>   File
>> "/path-to/opt/pgadmin4/lib/python3.8/site-packages/pgadmin4/pgadmin/setup/data_directory.py",
>> line 20, in _create_directory_if_not_exists
>>     os.mkdir(_path)
>> FileNotFoundError: [Errno 2] No such file or directory:
>> '/var/lib/pgadmin/azurecredentialcache'
>>
>> My setup has absolutely nothing to do with Azure. I use python wheel
>> having PgAdmin installed in an unprivileged environment, so I am puzzled
>> why it is all of sudden trying to look for something in "/var/lib/pgadmin"
>> or create things there?
>>
>>

-- 
Dave Page
Blog: https://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: https://www.enterprisedb.com

Reply via email to