代码之家  ›  专栏  ›  技术社区  ›  piRSquared

如何告诉安装工具从src/my package获取包?

  •  0
  • piRSquared  · 技术社区  · 7 年前

    我有一个这样的包目录设置

    package_dir
    |-src
    | |-mypackage
    |   |-__init__.py
    |
    |-setup.py
    

    我怎么设置 setup.py 使我能够 import mypackage

    我试过了:我跑步 python setup.py bdist_wheel 在哪里? 设置.py 有选项…

    packages=find_packages(include=["src"]),
    package_dir={"": "src"},
    

    当我运行pip install path/to/mypackage.whl时,它安装良好 但当我这样做的时候 python -c "import mypackage" 它失败了 ModuleNotFoundError 虽然 python -c "import src.mypackage" 很好

    1 回复  |  直到 7 年前
        1
  •  1
  •   phd    7 年前
    find_packages(where='src')
    

    使用 where ,不是 include . exclude/include 用于进一步筛选找到的包。参见:

    $ python
    Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
    [GCC 6.3.0 20170516] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from setuptools import find_packages
    >>> find_packages()
    []
    >>> find_packages(include=['src'])
    []
    >>> find_packages(where='src')
    ['mypackage']