Pergunta

Estamos tendo problemas ao tentar implantar vários projetos que usam zc.buildout - especificamente, estamos descobrindo que eles querem colocar seus PYTHON_EGG_CACHE diretórios em todo o show.Gostaríamos de definir de alguma forma este diretório para um no mesmo nível do projeto construído, onde eggs pode ser encontrado.

Há alguma menção online de que isso pode ser feito para projetos Plone, mas é possível fazer isso sem o Plone?

Existem algumas receitas que podem configurar uma variável de ambiente para que possamos definir o PYTHON_EGG_CACHE arquivos executáveis ​​em ./bin?

Foi útil?

Solução

Não tenho certeza do que você quer dizer.Três opções que você normalmente tem:

  • O Buildout, por padrão, armazena os ovos em um diretório chamado eggs/ dentro do seu diretório de construção.

  • Você pode definir o eggs-dir variável dentro do seu buildout.cfg [buildout] seção para algum diretório.Basta dizer onde colocá-los.

  • Você também pode definir a mesma opção em .buildout/defaults.cfg dentro do seu diretório inicial.Dessa forma, você pode definir um padrão para todos os seus projetos.Útil para armazenar todos os seus ovos em um só lugar:isso pode economizar muito tempo de download, por exemplo.

Um desses (especialmente o último) realiza o que você deseja?

E:não mexa com ovos no gerado bin/* arquivos.Deixe o Buldout colher os ovos, esse é o seu propósito.

Outras dicas

O PYTHON_EGG_CACHE é usado apenas para ovos compactados, sua melhor aposta é fazer com que o zc.buildout instale todos os ovos necessários descompactados:

[buildout]
...
unzip = true

Se o seu sistema python possui ovos compactados instalados que ainda exigem descompactação para acesso a recursos, e definir PYTHON_EGG_CACHE em seus scripts é sua única opção (em vez de definir a variável de ambiente para seu usuário), você pode tentar usar o initialization opção de zc.recipe.egg para adicionar código Python arbitrário aos seus scripts:

[a-part]
recipe = zc.recipe.egg
...
initialization = 
    import os
    os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top