Python pkg_resources.DistributionNotFound错误疑难解答

Python pkg_resources.DistributionNotFound错误疑难解答,python,setup.py,Python,Setup.py,为什么运行时会导致pkg\u resources.DistributionNotFound错误?我们如何修复它 #setup.py from setuptools import setup setup(name='my_project', version='0.1.0', packages=['my_project'], entry_points={ 'console_scripts': [ 'my_project = my_pr

为什么运行时会导致
pkg\u resources.DistributionNotFound
错误?我们如何修复它

#setup.py
from setuptools import setup

setup(name='my_project',
    version='0.1.0',
    packages=['my_project'],
    entry_points={
        'console_scripts': [
            'my_project = my_project.__main__:main'
        ]
     },
)

构建:
python setup.py安装--root=target--prefix=usr

运行:
\target\usr\Scripts\my_project.exe

结果
回溯(最近一次呼叫最后一次):
文件“D:\code maphew\scraps\bug dist not found\target\usr\Scripts\my_project-script.py”,第6行,在
从打包资源导入加载入口点
文件“C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site packages\pkg\u resources\uuuuuuuu init\uuuuuuuu.py”,第3105行,在
@_把你叫到一边
文件“C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site packages\pkg\u resources\uuuuuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
f(*args,**kwargs)
文件“C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site packages\pkg\u resources\uuuuuuuuu init\uuuuuuuuuuuuuuu.py”,第3118行,位于“初始化”主工作集中
工作集=工作集。_build_master()
文件“C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site packages\pkg\u resources\uuuuuuuuu init\uuuuuuuuuuu.py”,第578行,位于\u build\u master中
ws.require(\uuuu requires\uuuuu)
文件“C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site packages\pkg\u resources\\uuuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
需要=自我解析(解析需求(需求))
文件“C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site packages\pkg\u resources\uuuuuuuu init\uuuuuuuuuu.py”,第781行,解析
未找到raise DistributionNotFound(请求,请求者)
pkg_resources.DistributionNotFound:找不到'my project==0.1.0'分发版,该分发版是应用程序所必需的
该Q类似于,但不构建RPM。在这种情况下,使用
--前缀
解决了问题。这对我不起作用。我已经在Windows10、LinuxMint和Debian上复制了相同的问题


回购协议中的完整代码:

我刚刚遇到了同样的问题。问题是代码在一台计算机上工作,但在另一台计算机上不工作。我也在使用我自己制造的轮子。无论如何,我找到的解决方案是升级pip和我的软件包。乙二醇

pip install --upgrade pip path/to/my_package

重新安装了pip和我的软件包,然后入口点开始工作。

如果您遇到问题中提到的类似情况,您也可能会遇到与我类似的名称不匹配:

setup.py

#setup.py
from setuptools import setup

setup(name='my_project',
    version='0.1.0',
    packages=['my_project'],
    entry_points={
        'console_scripts': [
            'my_project = my_project.__main__:main'
        ]
     },
    install_requires=[
        'req.lib',  # correct name req-lib
    ]
)
有趣的是,在我的例子中,
pip install-e。
没有抱怨错误,但我在执行过程中遇到了一个错误,如下所示:

pkg_resources.DistributionNotFound:找不到'req.lib'分发版,该分发版是应用程序所必需的

导入没有问题。通过以下方式命名是正确的:

import req.lib
我的案例中的包是“azure标识”:

与pkg_资源相比,使用pip的安装无疑具有不同的容差

pip install --upgrade pip path/to/my_package
#setup.py
from setuptools import setup

setup(name='my_project',
    version='0.1.0',
    packages=['my_project'],
    entry_points={
        'console_scripts': [
            'my_project = my_project.__main__:main'
        ]
     },
    install_requires=[
        'req.lib',  # correct name req-lib
    ]
)