我有一个Python软件,其中包括配置文件和联机帮助页.要安装这些,我在我的内容中有以下行setup.py(如http://docs.python.org/2/distutils/setupscript.html#installing-additional-files中所述):
data_files = [('/etc/foo', ['foo.conf']), ('/usr/share/man/man1', ['foo.1'])]
Run Code Online (Sandbox Code Playgroud)
当我想以root身份安装软件时,这很好用python setup.py install,但当然在virtualenv中失败,因为不允许用户写入/etc和/usr/share/man.
解决这个问题的最佳做法是什么?检查VIRTUAL_ENV当前环境,根本不安装这些文件?该软件将foo.conf在本地目录中查找,因此应该没问题.用户会错过该联机帮助页,但无论如何都没有理智的安装方式,因为man在virtualenv附近的任何地方都不会找到它.