所以,我正在编写一个简单的命令行 Python 应用程序来维护一些用户数据。我想实现 setuptools 来简化构建和分发过程,但我找不到管理用户文件的好解决方案。
在 /etc/appname
中创建用户目录很容易,但是当用户想要卸载我的应用程序时,大概是:
sudo pip uninstall appname
它不会删除保存用户的 /etc/appname
目录。它只会删除 .egg
文件。
有没有办法在 setup.py
中指定调用卸载时运行的脚本,这样我就可以手动删除我创建的目录?
或者是否有一个选项让 setuptools 创建一个数据目录以便从应用程序读取和写入文件而不仅仅是只读配置文件?
最佳答案
我没有找到使用 setuptools 管理动态文件的正确方法,所以我使用了 Makefile。它创建程序引用的目录,然后运行 setuptools 以收集 pip 包并将脚本安装到 /usr/bin
。
install:
mkdir -p ~/.appname/users
sudo python setup.py install
cp -u appname/users/* ~/.appname/users
uninstall:
sudo rm -rf ~/.appname
sudo pip uninstall appname
关于python - 使用 setuptools 运行额外的卸载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47423878/