簡體   English   中英

為什么 pip 可編輯安裝會導致子包出現問題?

[英]Why is pip editable install causing issue with subpackages?

問題

我在為我的 package 使用可編輯安裝時遇到問題。 在我的 package 中,我有三個子包,如 setup.py 文件中所示。 如果我使用pip install. ,但如果我使用pip install -e. 那么我在嘗試運行 CLI relctl時會收到以下錯誤:

Traceback (most recent call last):
  File "/Users/my_username/.virtualenvs/rawp3/bin/relctl", line 11, in <module>
    load_entry_point('tech-control', 'console_scripts', 'relctl')()
  File "/Users/my_username/.virtualenvs/rawp3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Users/my_username/.virtualenvs/rawp3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2859, in load_entry_point
    return ep.load()
  File "/Users/my_username/.virtualenvs/rawp3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2450, in load
    return self.resolve()
  File "/Users/my_username/.virtualenvs/rawp3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2456, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'tech_control.cli'

經過進一步檢查,我發現我無法導入任何子包。 例如,以下將失敗: import tech_control.boards失敗: ModuleNotFoundError: No module named 'tech_control.boards'

我的 Package 目錄

tech_control/
├── __init__.py
├── boards
│   ├── __init__.py
│   ├── board_base.py
│   ├── tech8ch.py
│   └── wiring.py
├── cli
│   ├── __init__.py
│   └── cli.py
└── setup.py

安裝程序.py

from setuptools import setup

setup(
    name="tech_control",
    version="0.1.0",
    description="CLI for Tech Boards",
    packages=["tech_control", "tech_control.boards", "tech_control.cli"],
    package_dir={
        "tech_control": "",
        "tech_control.boards": "boards",
        "tech_control.cli": "cli"},
    install_requires=["pyusb"],
    entry_points={
        "console_scripts": [
            "relctl = tech_control.cli.cli:main"
        ]
    },
)

問題

為什么我的可編輯安裝阻止我訪問子包?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM