首页 > 解决方案 > 无法导入使用 `pip install -e 安装的本地软件包。`

问题描述

我有一个正在开发的包,还有一些导入这个包的脚本。我正在尝试使用开发人员模式安装软件包,pip install -e .但后来我无法在我的脚本中导入它。我有以下文件结构,singlepixel我正在开发的包在哪里。

├── setup.py
├── singlepixel
│   ├── acquisition.py
│   ├── metadata.py
│   └── __init__.py
├── scripts
│   ├── script1.py
│   └── script2.py

__init__.py的结构如下:

from .acquisition import init, setup, acquire, disconnect
from .metadata import MetaData, AcquisitionParameters

setup.py的是:

from setuptools import setup, find_packages

setup(
    name='singlepixel',
    version='0.0.1',
    author='gbm',
    package_dir={"": "singlepixel"},
    packages=find_packages(where="singlepixel"))

据我了解,我应该能够在我的script1.py例如中执行一个简单的导入语句from singlepixel import *,但是它不起作用,而是出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'singlepixel'

此外,即使我使用的是 anaconda 环境,我似乎也无法在任何地方导入包。据我了解,在使用此环境时,我应该能够在任何地方导入我的包,就像使用pip install.

标签: pythonimportpippackage

解决方案


你里面没有包singlepixel/,那个目录本身就是一个包。所以删除

package_dir={"": "singlepixel"},

和改变

packages=find_packages(where="singlepixel"))

packages=find_packages())

推荐阅读