使用setuptools更改已安装文件的权限

时间:2018-12-04 09:42:19

标签: python-3.x file-permissions setuptools

我目前正在开发一个Python软件包,可以使用setup.pysetuptools一起安装。该软件包使用svn作为源代码控制,并且我正在Windows上进行开发。对于某些文件,svn自动将文件权限设置为写保护(由于svn锁定机制)。例如,该软件包包含一个将与该软件包一起安装的.png文件,并且svn始终将.png文件的权限设置为写保护。

不幸的是,python -m pip install在删除临时构建目录时显示错误,因为它无法删除写保护的文件(拒绝访问:'example.png')。我可以手动从源文件中删除写保护,然后安装该软件包,该软件包将成功。但是,svn在更新存储库后会自动重置权限。

是否可以配置我的setup.py脚本,使其仅复制文件内容并在目标计算机上使用一些默认权限?

我的setup.py看起来像这样。复制文件的相关部分是package_data

import setuptools

setuptools.setup(
    name="my_package",
    version="1.0.0",
    author="Me",
    author_email="example@example.com",
    description="Awesome package",
    classifiers=[
        "Programming Language :: Python :: 3",
        "Operating System :: OS Independent"
    ],
    packages=setuptools.find_packages(),
    package_data={
        "my_package": ["ui/*.png", "ui/*.ui"]
    },
    python_requires=">=3.5",
    install_requires=["pyqt5==5.9"]
)

编辑:复制文件后更改文件权限解决了该问题。正如hoefling的评论所暗示的那样,此答案显示了如何执行此操作:https://stackoverflow.com/a/25761434/6095394

0 个答案:

没有答案