setup.pyを使用してPythonパッケージのインストールを作成し、フォルダー(この機会に作成された)〜/.didにデータファイルをコピーしたいと思います。問題は、/ usr / local / ...に書き込むため、sudo権限でsetup.pyを呼び出さなければならないことです。したがって、データファイルが〜/ .didにコピーされると、rootユーザーのみがファイルへの書き込みアクセス権を持ちます。 。
次に、setup()関数の後にos.chmod()の呼び出しを追加することにしましたが、もっとクリーンな方法があるかどうか知りたいです。
これが私のsetup.pyファイルです:
#!/usr/bin/env python
from distutils.core import setup
import os
home=os.path.expanduser('~')
setup(name='did',
version='1.0',
description='Daily Image Downloader',
author='Luc Mazon',
author_email='my@mail.com',
url='',
license='GNU GPL v3',
scripts=['did'],
packages=['didlib'],
data_files=[
('/usr/share/man/man1', ['doc/did.1.gz']),
(home+'/.did', ['did.xml'])
]
)
os.chmod(home+'/.did/did.xml', 0666)
did.xmlはPythonファイルではないため、次の行を含むMANIFEST.inファイルも作成しました。
include did.xml
私のパッケージのグローバル構造は次のとおりです。
did-1.0
| didlib
| | __init__.py
| | variouspyfiles.py
| doc
| |-did.1.gz
| MANIFEST.in
| did.xml
| did
| setup.py