Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Windows 7 X64上使用distutils将数据文件安装到%APPDATA%中_Python_Distutils - Fatal编程技术网

Python 在Windows 7 X64上使用distutils将数据文件安装到%APPDATA%中

Python 在Windows 7 X64上使用distutils将数据文件安装到%APPDATA%中,python,distutils,Python,Distutils,我的安装程序使用的distutils在Windows XP上运行良好,但在Windows 7上不起作用。具体情况如下: 我的软件包中有很多配置文件,我将它们安装到%APPDATA%中。在Windows上,我使用bdist_wininst选项运行setup.py来创建安装程序。然后在Win7上以管理员身份执行安装程序,以便将模块安装到%PROGRAMFILES%\Python等中。 安装没有报告任何错误,但您可能已经猜到配置文件不会安装到%APPDATA%或其他任何地方(我搜索了它们) 如果我以管

我的安装程序使用的distutils在Windows XP上运行良好,但在Windows 7上不起作用。具体情况如下:

我的软件包中有很多配置文件,我将它们安装到%APPDATA%中。在Windows上,我使用bdist_wininst选项运行setup.py来创建安装程序。然后在Win7上以管理员身份执行安装程序,以便将模块安装到%PROGRAMFILES%\Python等中。 安装没有报告任何错误,但您可能已经猜到配置文件不会安装到%APPDATA%或其他任何地方(我搜索了它们)

如果我以管理员身份打开cmd并直接使用安装选项(setup.py install)安装我的软件包,那么一切都可以正常运行


那么,我错过了什么?这是图形安装程序中的限制还是我做错了什么?

您可以在*nix上使用类似于通用解决方案的方法。将配置文件安装到
%PROGRAMFILES%
,并在程序检测到某个特定用户第一次运行该程序时将其复制到
%APPDATA%
(可通过检查配置文件是否丢失来检测)。

不是真正的答案,但我建议使用NSIS之类的工具来创建安装程序。我很久以前就放弃了bdist_wininst,因为它的局限性。NSIS真的很容易使用而且功能更强大。我现在正在使用NSIS,它很棒。但我认为必须/应该有一个本地解决方案。