I have following setup.py:
from setuptools import setup
from distutils.core import setup
setup(
name="foobar",
version="0.1.0",
author="Batman",
author_email="batman@gmail.com",
packages = ["foobar"],
include_package_data=True,
install_requires=[
"asyncio",
],
entry_points={
'console_scripts': [
'foobar = foobar.__main__:main'
]
},
)
Now, the main.py file gets installed and callable by foobar out of console after installation, which is what I wanted. Problem is, main.py has import at line 3 and that does not work.
So my folder structure is as follows
dummy/setup.py
dummy/requirements.txt
dummy/foobar/__init__.py
dummy/foobar/__main__.py
dummy/foobar/wont_be_imported_one.py
I run python3 setup.py bdist
being in dummy directory.
Upon running foobar after installation, I get error
File "/usr/local/bin/foobar", line 9, in <module>
load_entry_point('foobar==0.1.0', 'console_scripts', 'foobar')()
[...]
ImportError: No module named 'wont_be_imported_one'.
UPDATE.
__init__.py
has content of
from wont_be_imported_one import wont_be_imported_one
wont_be_imported_one.py
has from wont_be_imported_one
function which I actually need to import.