2014-02-09 40 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 
    

    然後你可以在下生成用戶文件並允許用戶從那裏編輯它們。

相關問題