无法导入使用 `pip install -e .` 安装的本地包
Cannot import local package installed with `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())
我有一个正在开发的包,还有一些导入这个包的脚本。我正在尝试使用 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())