python singlespec : explanation about pyc pyo

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

python singlespec : explanation about pyc pyo

Bruno Friedmann-2
See [1] as reference
During build with the new singlespec way I'm getting warning about

python3-htmlmin.noarch: W: files-duplicate /usr/lib/python3.6/site-packages/
htmlmin/__pycache__/decorator.cpython-36.opt-1.pyc /usr/lib/python3.6/site-
packages/htmlmin/__pycache__/decorator.cpython-36.pyc

Why did we have now two kinds of pyc being exactly the same file ?
Is there a bug in one of the python macros ?

Thanks for the potential explanation.

[1] https://build.opensuse.org/package/show/
home:bruno_friedmann:branches:devel:languages:python3/python3-htmlmin
--

Bruno Friedmann
 Ioda-Net Sàrl www.ioda-net.ch
 Bareos Partner, openSUSE Member, fsfe fellowship
 GPG KEY : D5C9B751C4653227
 irc: tigerfoot


--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: python singlespec : explanation about pyc pyo

Bruno Friedmann-2
On samedi, 25 mars 2017 18.51:33 h CEST Bruno Friedmann wrote:

> See [1] as reference
> During build with the new singlespec way I'm getting warning about
>
> python3-htmlmin.noarch: W: files-duplicate /usr/lib/python3.6/site-packages/
> htmlmin/__pycache__/decorator.cpython-36.opt-1.pyc /usr/lib/python3.6/site-
> packages/htmlmin/__pycache__/decorator.cpython-36.pyc
>
> Why did we have now two kinds of pyc being exactly the same file ?
> Is there a bug in one of the python macros ?
>
> Thanks for the potential explanation.
>
> [1] https://build.opensuse.org/package/show/
> home:bruno_friedmann:branches:devel:languages:python3/python3-htmlmin

Following https://www.python.org/dev/peps/pep-0488/#id25

 To eliminate the ambiguity that PYO files present, this PEP proposes
eliminating the concept of PYO files and their accompanying .pyo file
extension. To allow for the optimization level to be unambiguous as well as to
avoid having to regenerate optimized bytecode files needlessly in the
__pycache__ directory, the optimization level used to generate the bytecode
file will be incorporated into the bytecode file name. When no optimization
level is specified, the pre-PEP .pyc file name will be used (i.e., no
optimization level will be specified in the file name). For example, a source
file named foo.py in CPython 3.5 could have the following bytecode files based
on the interpreter's optimization level (none, -O , and -OO ):

    0: foo.cpython-35.pyc (i.e., no change)
    1: foo.cpython-35.opt-1.pyc
    2: foo.cpython-35.opt-2.pyc

It seems we shouldn't continue to have both pyc.

--

Bruno Friedmann
 Ioda-Net Sàrl www.ioda-net.ch
 Bareos Partner, openSUSE Member, fsfe fellowship
 GPG KEY : D5C9B751C4653227
 irc: tigerfoot


--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]