2014-02-09 36 views
1

我想包括某些用户定义的文件下package_data也有写的权限,cfg.ini。但默认情况下,写入权限被禁用,因为我使用sudo安装了我的软件包。默认情况下没有写权限package_data文件

sudo python setup.install 

通过我使用setuptools的创建我的setup.py

任何建议,请了道路。

回答

0

有2种解决方案。

  1. 只要使用(没有sudo)包安装到本地用户(而不是系统):

    python setup.py install 
    

    这将使得用户能够编辑自定义文件。

  2. 作为替代其下的* package_data *用户自定义的文件,你可以简单地在这是由你的模块读取用户特定的目录中生成的用户特定的文件。然后由用户编辑。在Windows上,这将存储在用户的AppData目录下。

    appdirs包提供方便的用户目录,用于存储应用程序的数据(它是MIT许可)。

    要安装appdirs一封来自PyPI:

    sudo pip install appdirs 
    

    或者你可以下载源代码,然后用安装:

    sudo python setup.py install 
    

    下面是一个例子:

    >>> import appdirs 
    >>> user_dir = appdirs.user_data_dir("YourAppOrModule", "YourName") 
    >>> print(user_dir) 
    C:\Users\TheUser\AppData\Local\YourName\YourAppOrModule 
    

    然后你可以在下生成用户文件并允许用户从那里编辑它们。

相关问题