「python setup.py develop
」を実行しているとの事なのでこれが原因ではないと思うのですが、参考にされているサイトがちょっとアレなんで回答しておきます。
サイトの
python
1from setuptools import setup, find_packages
2
3setup(
4 name='Farewell2016',
5 version="0.0.1",
6 description="さよなら2016年",
7 long_description="2016年にお別れを言うだけのパッケージ",
8 author='k.himeno',
9 license='MIT',
10 classifiers=[
11 "Development Status :: 1 - Planning"
12 ],
13 keywords='farewell'
14)
を「setup.py
」としていると思いますが、大きな間違いがあります。
インストールするパッケージを指定する「packages
」キーワードが指定されていません。
よって、インストールはできるけど、パッケージは何もない、というパッケージになってしまいます。
以下のようにパッケージを指定すべきです。
python
1from setuptools import setup, find_packages
2
3setup(
4 packages=['Farewell2016'],
5 # 以下、略
6)
7
8# もしくは、
9setup(
10 packages=find_packages(),
11 # 以下、略
12)
13
なお、「python setup.py install
」をするとパッケージがない状態なのでインポートできませんが、develop
だとインポートできます。
これは、develop
だと、パッケージのインストールは行わず、パッケージのパスがsetup.py
のディレクトリにあるかのごとく設定されて、あたかもインストールされたかのように振る舞うからのようです。
(正直、develop
コマンドは知らないので、ちらっと調べた限りなので間違っていたらゴメン)
ですので、develop
を実行したのであれば問題ない(と言っていいかわからないが)ですが、もし何だったらpackages
を指定して試してみてください。
ちなみに、__init__.py
について。
python2では、__init__.py
のないパッケージはインポートできませんが、python3ではなくてもインポートはできます。
しかし、上記のsetuptools.find_packages
を使った場合、__init__.py
のないパッケージは無視されるようなので、とりあえず__init__.py
は用意しておいた方がよいでしょう。