python - 无法导入使用 `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
.
解决方案
你里面没有包singlepixel/
,那个目录本身就是一个包。所以删除
package_dir={"": "singlepixel"},
和改变
packages=find_packages(where="singlepixel"))
到
packages=find_packages())
推荐阅读
- dataset - 如何从保持相同类别平衡的数据集中抽取样本?
- c - c客户端发送char但服务器正在接收数字
- go - 如何覆盖 func (l *Logger) Println(v ...interface{}) 方法 golang?
- android - Android 按钮之间的垂直空间
- java - 谷歌云 Sql/GAE 延迟
- java - 不推荐使用 IOUtils.toByteArray - 我们可以使用什么来代替?
- python-3.x - 在点处拆分 PySpark 数据框列
- css - 如何将 ::before 或 ::after 伪元素设置在多于一行的项目之间?
- excel - VBA 未创建 PivotCache
- php - PHP - 使用 cURL 获取重定向后的最终 URL 状态