This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2011年10月11日 11:12 by vinay.sajip, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Messages (8) | |||
|---|---|---|---|
| msg145339 - (view) | Author: Vinay Sajip (vinay.sajip) * (Python committer) | Date: 2011年10月11日 11:12 | |
When you run pysetup3 run bdist_wininst in a project directory with a valid setup.cfg, it fails with error: Invalid command install after the build, build_py and build_scripts steps. For info, pysetup3 run bdist_dumb runs without error. |
|||
| msg145406 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年10月12日 16:15 | |
On line 118, replacing 'install' with 'install_dist' should fix it. |
|||
| msg145439 - (view) | Author: Vinay Sajip (vinay.sajip) * (Python committer) | Date: 2011年10月12日 22:17 | |
> On line 118, replacing 'install' with 'install_dist' should fix it. Sadly, it just defers the problem: vinay@eta-natty:~/projects/dory$ pysetup3 run bdist_wininst running bdist_wininst running build running build_py running build_scripts installing to build/bdist.linux-i686/wininst running install_lib creating build/bdist.linux-i686 creating build/bdist.linux-i686/wininst creating build/bdist.linux-i686/wininst/PURELIB creating build/bdist.linux-i686/wininst/PURELIB/apackage running install_scripts creating build/bdist.linux-i686/wininst/SCRIPTS changing mode of build/bdist.linux-i686/wininst/SCRIPTS/dory to 755 running install_distinfo creating build/bdist.linux-i686/wininst/PURELIB/dory-0.1.dist-info creating build/bdist.linux-i686/wininst/PURELIB/dory-0.1.dist-info/METADATA creating build/bdist.linux-i686/wininst/PURELIB/dory-0.1.dist-info/INSTALLER creating build/bdist.linux-i686/wininst/PURELIB/dory-0.1.dist-info/REQUESTED creating build/bdist.linux-i686/wininst/PURELIB/dory-0.1.dist-info/RECORD Traceback (most recent call last): File "/usr/local/bin/pysetup3", line 4, in <module> sys.exit(main()) File "/usr/local/lib/python3.3/packaging/run.py", line 653, in main return dispatcher() File "/usr/local/lib/python3.3/packaging/run.py", line 642, in __call__ return func(self, self.args) File "/usr/local/lib/python3.3/packaging/run.py", line 91, in wrapper return f(*args, **kwargs) File "/usr/local/lib/python3.3/packaging/run.py", line 288, in _run dist.run_command(cmd, dispatcher.command_options[cmd]) File "/usr/local/lib/python3.3/packaging/dist.py", line 709, in run_command cmd_obj.run() File "/usr/local/lib/python3.3/packaging/command/bdist_wininst.py", line 175, in run self.create_exe(arcname, fullname, self.bitmap) File "/usr/local/lib/python3.3/packaging/command/bdist_wininst.py", line 243, in create_exe cfgdata = self.get_inidata() File "/usr/local/lib/python3.3/packaging/command/bdist_wininst.py", line 202, in get_inidata info = (metadata.long_description or '') + '\n' AttributeError: 'Metadata' object has no attribute 'long_description' It appears that there is some confusion as to whether to use attribute or item access. The failing code above needs to be replaced with something like if 'long_description' in metadata: info = metadata['long_description'] else: info = metadata.get('description', '') info += '\n' |
|||
| msg145461 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年10月13日 15:45 | |
Metadata now only uses item access, and the names have changed: long_description is description, url is home_page, former description is summary, etc. (more in PEP 345). I don’t have Windows yet, so either we wait or we iterate I make a patch - you report failures - I make a patch etc. |
|||
| msg145473 - (view) | Author: Vinay Sajip (vinay.sajip) * (Python committer) | Date: 2011年10月13日 17:25 | |
> I don’t have Windows yet, so either we wait or we iterate I make a patch - you report failures - I make a patch etc.
Actually I'm finding these failures on Ubuntu :-)
Although there are MBCS encoding issues which will also need to be fixed before you can build a pure-Python .exe installer on Linux (which is possible with distutils, so should work in packaging too), these failures occur before you get to that point. That last part can be fixed on Linux by doing (in bdist_wininst.create_exe):
try:
cfgdata = cfgdata.encode("mbcs")
except LookupError:
cfgdata = cfgdata.encode("latin-1")
which is at least better than what we have now.
|
|||
| msg145543 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年10月14日 16:04 | |
I’ll apply your hack and fix the other issues. |
|||
| msg145678 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年10月17日 12:29 | |
I’ve patched most of bdist_wininst and started to work on a few tests which work under 2.7 and fail under 3.2 without the fixes so that I can assume I’ve not broken anything. However, the mapping API of the Metadata class is quite unfriendly. For example, if I try to replace metadata.long_description with metadata['description'], no exception will be raised if the metadata does not contain a description, it will return 'UNKNOWN'. Code quickly becomes ugly. I will open another report to ask Tarek to allow me to revamp the mapping API of Metadata so that code can be easier to write and read. (I’m also removing the dependency on another bug that’s not really a blocker.) |
|||
| msg145679 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年10月17日 12:31 | |
To clarify: the part about the tests applies to distutils. 3.x fixes will then be ported to packaging. Starting with successful tests in distutils 2.7 makes me feel more confident about editing distutils 3.x and packaging 3.3. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:22 | admin | set | github: 57360 |
| 2014年03月13日 03:27:40 | eric.araujo | set | status: open -> closed resolution: out of date stage: resolved |
| 2014年03月13日 03:26:21 | eric.araujo | set | dependencies: - bdist_wininst depends on MBCS codec, unavailable on non-Windows |
| 2011年10月17日 12:31:48 | eric.araujo | set | messages: + msg145679 |
| 2011年10月17日 12:29:54 | eric.araujo | set | dependencies:
- Rename install_dist to install messages: + msg145678 |
| 2011年10月15日 15:36:13 | vinay.sajip | link | issue13182 superseder |
| 2011年10月14日 16:04:07 | eric.araujo | set | assignee: tarek -> eric.araujo messages: + msg145543 |
| 2011年10月14日 16:03:24 | eric.araujo | set | dependencies: + bdist_wininst depends on MBCS codec, unavailable on non-Windows |
| 2011年10月13日 17:25:37 | vinay.sajip | set | messages: + msg145473 |
| 2011年10月13日 15:45:56 | eric.araujo | set | messages: + msg145461 |
| 2011年10月12日 22:17:31 | vinay.sajip | set | messages: + msg145439 |
| 2011年10月12日 16:20:15 | eric.araujo | set | dependencies: + Rename install_dist to install |
| 2011年10月12日 16:15:50 | eric.araujo | set | messages: + msg145406 |
| 2011年10月11日 11:12:17 | vinay.sajip | create | |