setup.py, how to find main program/module?
ant
ant at anthive.com
Wed Dec 19 08:52:04 EST 2018
dieter wrote:
> ant <ant at anthive.com> writes:
>> ...
>> yet not quite all the way yet. i run the
>> commands to make the sdist and wheels and upload
>> it using twine to my test account, but when
>> i install it and try to run it the ngfp.py is
>> not found (i've also tried nfgp and main).
>> ...
>> i suspect i've not really understood entry
>> points and may not have it specified correctly in
>> setup.py.
>>
>> any help appreciated. :)
>
> I think you are right: the problem is likely with the
> "entry_points" specification.
>
>
> My "dm.zopepatches.ztest" package has
> entry_points = dict(
> console_scripts = [
> 'ztest = dm.zopepatches.ztest:main',
> ]
> ),
> This is responsible for the creation of a script called
> "ztest" in Python's "bin" directory.
>
>
> Does your "entry_points" specification look similar?
yes.
> Do you find corresponding scripts in Python's "bin" directory?
thank you,
yes, it is there:
=====
(env) me at ant(9)~/src/env/bin$ more ngfp
#!/home/me/src/env/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'ngfp','console_scripts','ngfp'
__requires__ = 'ngfp'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('ngfp', 'console_scripts', 'ngfp')()
)
=====
(env) me at ant(11)~/src/test$ ngfp
Traceback (most recent call last):
File "/home/me/src/env/bin/ngfp", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3126, in <module>
@_call_aside
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3110, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3139, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 581, in _build_master
ws.require(__requires__)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 898, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 784, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'ngfp' distribution was not found and is required by the application
=====
so, actually, the problem isn't what i expected it to be.
but i'm still not sure how to fix it. :)
ant
More information about the Python-list
mailing list