开发 python 包时无法加载 python entry_point
Unable to load python entry_point when developing python package
我正在尝试开发一个 python 包,它是可导入的并且还有 entry_point 可以从 shell 调用。
尝试调用入口点时,我得到:
pkg_resources.VersionConflict: (pysec-aws 0.1.dev1 (/Users/myuser/PycharmProjects/pysec-aws), Requirement.parse('pysec-aws==0.1.dev0'))
基本上我在收到此错误之前所做的是在 setup.py 中将版本从 0.1.dev0
递增到 0.1.dev1
,然后 运行 python setup.py sdist
pip install -e .
我做错了什么?安装您正在积极开发并使用 setuptools 捆绑的软件包的开发版本的正确方法是什么?
错误是抱怨应用程序版本与 setup.py 中声明的版本不匹配。尝试检查应用程序中的 __version__
集。
您可以考虑使用单一来源的版本来避免这个问题。 https://packaging.python.org/guides/single-sourcing-package-version/ 中列出了许多不同的选项。如果没有任何外部依赖性,一种简单的技术是
import myapp
setup(
...
version=myapp.__version__
...
)
解决这个问题的唯一方法是创建一个新的 virtualenv。
显然我的 virtualenv/bin
出于某种原因对旧版本进行了编译(.pyc
)和未编译(.py
)引用 - 当我安装了新版本。
一旦我创建了一个新的 virtualenv 并重新安装了所需的包,我就能够解决这个问题。
我正在尝试开发一个 python 包,它是可导入的并且还有 entry_point 可以从 shell 调用。
尝试调用入口点时,我得到:
pkg_resources.VersionConflict: (pysec-aws 0.1.dev1 (/Users/myuser/PycharmProjects/pysec-aws), Requirement.parse('pysec-aws==0.1.dev0'))
基本上我在收到此错误之前所做的是在 setup.py 中将版本从 0.1.dev0
递增到 0.1.dev1
,然后 运行 python setup.py sdist
pip install -e .
我做错了什么?安装您正在积极开发并使用 setuptools 捆绑的软件包的开发版本的正确方法是什么?
错误是抱怨应用程序版本与 setup.py 中声明的版本不匹配。尝试检查应用程序中的 __version__
集。
您可以考虑使用单一来源的版本来避免这个问题。 https://packaging.python.org/guides/single-sourcing-package-version/ 中列出了许多不同的选项。如果没有任何外部依赖性,一种简单的技术是
import myapp
setup(
...
version=myapp.__version__
...
)
解决这个问题的唯一方法是创建一个新的 virtualenv。
显然我的 virtualenv/bin
出于某种原因对旧版本进行了编译(.pyc
)和未编译(.py
)引用 - 当我安装了新版本。
一旦我创建了一个新的 virtualenv 并重新安装了所需的包,我就能够解决这个问题。