variável @ Python atribuída por um módulo externo pode ser acessada para impressão, mas não para atribuição no módulo de destin

Tenho dois arquivos, um está na raiz da web e outro é uma inicialização localizada em uma pasta acima da raiz da web (a propósito, essa é a programação CGI

O arquivo de índice na raiz da Web importa a autoinicialização e atribui uma variável a ela, depois chama uma função para inicializar o aplicativo. Tudo aqui funciona como esperado.

Agora, no arquivo de inicialização, posso imprimir a variável, mas quando tento atribuir um valor à variável, um erro é gerado. Se você retirar a declaração de atribuição, nenhum erro será gerad

Estou realmente curioso sobre como o escopo funciona nessa situação. Posso imprimir a variável, mas não posso atribuir a ela. Isso está no Python 3.

index.py

# Import modules
import sys
import cgitb;

# Enable error reporting
cgitb.enable()
#cgitb.enable(display=0, logdir="/tmp")

# Add the application root to the include path
sys.path.append('path')

# Include the bootstrap
import bootstrap

bootstrap.VAR = 'testVar'

bootstrap.initialize()

bootstrap.py

def initialize():
    print('Content-type: text/html\n\n')
    print(VAR)
    VAR = 'h'
    print(VAR)

Obrigado

Edit: A mensagem de erro

UnboundLocalError: local variable 'VAR' referenced before assignment 
      args = ("local variable 'VAR' referenced before assignment",) 
      with_traceback = <built-in method with_traceback of UnboundLocalError object at 0x00C6ACC0>

questionAnswers(2)

yourAnswerToTheQuestion