以下のURL先の動画の前半のやり方通りにやってみています。
https://www.youtube.com/watch?v=P3dY3uDmnkU が、どおりでうまくいきません。
動画にもあるように私の理解では、setup.pyをかき、pip install -e .をするとsite-packageに__init__.pyのあるディレクトリ(mypackage)がパッケージとして登録されるため、どの階層からでもimport mypackageができるという認識でいます。現状、以下のコードだとトップディレクトリからimportできません。これだとsetup.pyを書いてpip install -e .をする意味がないです。私の理解があっているかどうか、もしくは何かしらお気づきの点ありましたらご教示頂けませんでしょうか?
(myvenv)~/local/xxx/mypackage $ python Python 3.7.0 (xxx) [Clang 9.1.0 (clang-902.0.39.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import mypackage >>> mypackage.MyPackage().spam() 'eggs' >>> exit() ↓ 以下でも上記と同じように上手くいくようにしたい。(動画だと上手くいってる) $ cd .. (myvenv)~/local/xxx $ python Python 3.7.0 (xxx) [Clang 9.1.0 (clang-902.0.39.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import mypackage >>> mypackage.MyPackage().spam() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'mypackage' has no attribute 'MyPackage'
. ├── mypackage │ ├── __init__.py │ └── mypackage.py ├── myvenv └── setup.py
setup.py
from setuptools import setup, find_packages setup( name='mypackage', version='0.0.1', description='My first package', packages=setuptools.find_packages(), )
mypackage.py
class MyPackage(): def spam(self): return "eggs"
pip freezeすると以下のようなエラーが出ていますが、関係はなさそうだと思い、無視しています。
(myvenv) $ pip freeze ERROR: Complete output from command git rev-parse HEAD: ERROR: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' HEAD ---------------------------------------- WARNING: Error when trying to get requirement for VCS system Command "git rev-parse HEAD" failed with error code 128 in /Users/xxxx/local/xxxx, falling back to uneditable format WARNING: Could not determine repository location of /Users/xxx/local/xxx ## !! Could not determine repository location mypackage==0.0.1

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/08 09:25
2019/07/08 09:31
2019/07/08 10:02