<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    If you get that error, it means you're not actually using python 3
    to run setup.py.<br>
    <br>
    <div class="moz-cite-prefix">15.04.2016, 09:52, Luí­s de Sousa via
      Distutils-SIG kirjoitti:<br>
    </div>
    <blockquote
cite="mid:BOVlVrLjSLvdWZ3OAN4RKojfxH_v_dG1VXpJ5Qs4yQNQ0ZWFGEpZQM5lHGtH-ZINaJrRIdmx7co0EEbC5DC9uQ==@protonmail.ch"
      type="cite">
      <div>Hi Marius, thank you for the reply.<br>
      </div>
      <div><br>
      </div>
      <div>If I remove the line # coding=utf8, I get the following
        error:<br>
      </div>
      <div><br>
      </div>
      <div>$ python setup.py bdist_wheel --universal<br>
      </div>
      <div>  File "setup.py", line 18<br>
      </div>
      <div>SyntaxError: Non-ASCII character '\xc3' in file setup.py on
        line 18, but no encoding declared; see <a
          moz-do-not-send="true"
          href="http://www.python.org/peps/pep-0263.html"><a class="moz-txt-link-freetext" href="http://www.python.org/peps/pep-0263.html">http://www.python.org/peps/pep-0263.html</a></a>
        for details<br>
      </div>
      <div><br>
      </div>
      <div>I created main functions in each of these scripts and altered
        the entry points bit to:<br>
      </div>
      <div><br>
      </div>
      <div>entry_points={<br>
      </div>
      <div>    'console_scripts': [<br>
      </div>
      <div>        'scriptA=proj:scriptA:main',<br>
      </div>
      <div>        'scriptB=proj:scriptB:main'<br>
      </div>
      <div>    ],<br>
      </div>
      <div>},<br>
      </div>
      <div><br>
      </div>
      <div>This way I get this error:<br>
      </div>
      <div><br>
      </div>
      <div>$ python setup.py bdist_wheel --universal<br>
      </div>
      <div>error in proj setup command: ("EntryPoint must be in
        'name=module:attrs [extras]' format",
        'scriptA=proj:scriptA:main')<br>
      </div>
      <div><br>
      </div>
      <div>The __init__.py file is empty, by the way. Any other hints?<br>
      </div>
      <div><br>
      </div>
      <div>Thank you,<br>
      </div>
      <div><br>
      </div>
      <div>Luís<br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div class="protonmail_signature_block"><i>Sent from <a
            moz-do-not-send="true" href="https://protonmail.ch">ProtonMail</a>,
          encrypted email based in Switzerland.</i><br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <blockquote class="protonmail_quote" type="cite">
        <div>-------- Original Message --------<br>
        </div>
        <div>Subject: Re: [Distutils] 'Invalid module name' creating
          package with setuptools<br>
        </div>
        <div>Local Time: April 15, 2016 8:24 AM<br>
        </div>
        <div>UTC Time: April 15, 2016 6:24 AM<br>
        </div>
        <div>From: <a class="moz-txt-link-abbreviated" href="mailto:marius@gedmin.as">marius@gedmin.as</a><br>
        </div>
        <div>To: <a class="moz-txt-link-abbreviated" href="mailto:distutils-sig@python.org">distutils-sig@python.org</a><br>
        </div>
        <div><br>
        </div>
        <div>On Thu, Apr 14, 2016 at 11:28:09AM -0400, Luí­s de Sousa
          via Distutils-SIG wrote:<br>
        </div>
        <div>
          > I have a project with these contents:<br>
        </div>
        <div>
          > <br>
        </div>
        <div>
          > proj<br>
        </div>
        <div>
          > ├── proj<br>
        </div>
        <div>
          > │ ├── scriptA.py<br>
        </div>
        <div>
          > │ ├── scriptB.py<br>
        </div>
        <div>
          > │ └── __init__.py<br>
        </div>
        <div>
          > ├── LICENCE<br>
        </div>
        <div>
          > ├── README.md<br>
        </div>
        <div>
          > └── setup.py<br>
        </div>
        <div>
          > <br>
        </div>
        <div>
          > The setup.py file looks like:<br>
        </div>
        <div>
          ...<br>
        </div>
        <div>
          > entry_points={<br>
        </div>
        <div>
          > 'console_scripts': [<br>
        </div>
        <div>
          > 'scriptA=proj:scriptA',<br>
        </div>
        <div>
          > 'scriptB=proj:scriptB'<br>
        </div>
        <div>
          <br>
        </div>
        <div>
          I'm not sure this is right -- an entry point should point to a
          python<br>
        </div>
        <div>
          module (not a package) and a function in that module, so
          something like<br>
        </div>
        <div>
          <br>
        </div>
        <div> 'scriptA=proj.scriptA:main',<br>
        </div>
        <div> 'scriptB=proj.scriptB:main',<br>
        </div>
        <div>
          <br>
        </div>
        <div>
          I've never tried to define entry points pointing to functions
          defined in<br>
        </div>
        <div>
          the __init__.py of a package, so I don't know if you're
          allowed to write<br>
        </div>
        <div>
          <br>
        </div>
        <div> scriptX=proj:fn<br>
        </div>
        <div>
          <br>
        </div>
        <div>
          or if you have to explicitly say<br>
        </div>
        <div>
          <br>
        </div>
        <div> scriptX=proj.__init__:fn<br>
        </div>
        <div>
          <br>
        </div>
        <div>
          > When I try to build I get the following error:<br>
        </div>
        <div>
          > <br>
        </div>
        <div>
          > $ python setup.py bdist_wheel --universal<br>
        </div>
        <div>
          > error in proj setup command: ('Invalid module name',
          'proj')<br>
        </div>
        <div>
          <br>
        </div>
        <div>
          (That is not a good error message indeed.)<br>
        </div>
        <div>
          <br>
        </div>
        <div>
          Marius Gedminas<br>
        </div>
        <div>
          -- <br>
        </div>
        <div>
          This loads a GDT entry into the "Task Register": that entry
          points to a<br>
        </div>
        <div>
          structure called the Task State Segment. Some comments
          scattered though the<br>
        </div>
        <div>
          kernel code indicate that this used for task switching in ages
          past, along<br>
        </div>
        <div>
          with blood sacrifice and astrology.<br>
        </div>
        <div> -- lguest source code<br>
        </div>
        <div>
          _______________________________________________<br>
        </div>
        <div>
          Distutils-SIG maillist - <a class="moz-txt-link-abbreviated" href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a><br>
        </div>
        <div>
          <a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/distutils-sig">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
        </div>
      </blockquote>
      <div><br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Distutils-SIG maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/distutils-sig">https://mail.python.org/mailman/listinfo/distutils-sig</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>