【发布时间】:2021-06-15 22:54:07
【问题描述】:
我有一个正在开发的包,还有一些导入这个包的脚本。我正在尝试使用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 安装的任何其他包一样。
【问题讨论】:
-
试试
pip install .看看是否安装成功 -
它安装成功,但我仍然遇到同样的错误。但无论如何,我想用
-e安装以便能够在包中进行更改。