使用 pip install 安装本地包。没有 -e 标志不起作用
Installing local package with pip install . doesn't work without -e flag
我写了一个小的 python 包,我想通过 pip 在本地安装它。我过去常常通过导航到带有 setup.py
文件的包目录,然后导航到 运行 pip install .
来完成此操作,之后 pip 安装程序完成循环并通知我它已成功安装包.当我检查 pip freeze
时,它确实列在那里。但是,当我随后启动 Python 解释器并尝试导入我的包时,它会抛出一个 ModuleNotFoundError
.
但是,当我通过 pip install -e .
安装时,情况并非如此,导入没有问题。
我已经在其他软件包中多次使用这种方法,但我似乎无法找到为什么它在这个特定时间总是失败。我已经用 2 个不同的 virtualenv 尝试过,证实我每次都使用了正确的解释器,但无济于事。
感谢您的帮助!
我已经解决了这个问题!它基于 this solution.
我写了一个 setup.py
文件,但是在 setup
部分我没有包含 packages=find_packages()
。因此,它只安装了有关包的一些信息,而没有安装包本身。这就是它出现在 pip freeze
中但无法导入的原因。
我的设置现在看起来像这样
setup(
name='package name',
version=__version__,
description='package description',
long_description=readme,
author='my name',
author_email='my mail',
url='https://link_to_github_site.com',
packages=find_packages(),
license=license
)
我写了一个小的 python 包,我想通过 pip 在本地安装它。我过去常常通过导航到带有 setup.py
文件的包目录,然后导航到 运行 pip install .
来完成此操作,之后 pip 安装程序完成循环并通知我它已成功安装包.当我检查 pip freeze
时,它确实列在那里。但是,当我随后启动 Python 解释器并尝试导入我的包时,它会抛出一个 ModuleNotFoundError
.
但是,当我通过 pip install -e .
安装时,情况并非如此,导入没有问题。
我已经在其他软件包中多次使用这种方法,但我似乎无法找到为什么它在这个特定时间总是失败。我已经用 2 个不同的 virtualenv 尝试过,证实我每次都使用了正确的解释器,但无济于事。
感谢您的帮助!
我已经解决了这个问题!它基于 this solution.
我写了一个 setup.py
文件,但是在 setup
部分我没有包含 packages=find_packages()
。因此,它只安装了有关包的一些信息,而没有安装包本身。这就是它出现在 pip freeze
中但无法导入的原因。
我的设置现在看起来像这样
setup(
name='package name',
version=__version__,
description='package description',
long_description=readme,
author='my name',
author_email='my mail',
url='https://link_to_github_site.com',
packages=find_packages(),
license=license
)