2016-06-07 2 views
0

Je voudrais copier un fichier de configuration par défaut dans le répertoire% APPDATA% \ foo lors de l'installation du paquet.python setup.py mettre les fichiers de données dans% APPDATA% répertoire

from setuptools import setup 

setup(
    name = 'foo', 
    version = '0.1.0.dev1', 
    author = 'me', 
    packages = ['foo'], 
    data_files=[(r'%APPDATA%\foo', ['foo.config'])] 
) 

La structure de répertoire est:

  • paquet haut niveau
    • setup.py
    • foo.config
    • foo
      • initialisation .py
      • bar.py

Quand je lance python setup.py, il met foo.config dans l'œuf. Il produit:

copie foo.config -> build \ bdist.win amd64 \ oeuf \% APPDATA% \ foo

J'utilise python 3.5. Est-ce que setuptools peut copier des fichiers dans d'autres répertoires déterminés par des variables système, et comment?

Répondre

0

Évidente avec le recul. Pour une raison quelconque, je ne savais pas que vous pouviez avoir du code python dans setup.py. Il suffit d'importer os et de remplacer data_files ci-dessus avec:

data_files=[(os.path.join(os.environ['APPDATA'], 'foo'), ['foo.config'])]