pkg故障排除_未找到resources.DistributionNotFound

2024-06-16 13:49:57 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么this simple program在运行时会导致pkg_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'
        ]
     },
)

一。在

^{pr2}$

构建:python setup.py install --root=target --prefix=usr
运行:.\target\usr\Scripts\my_project.exe

结果

Traceback (most recent call last):
  File "D:\code-maphew\scraps\bug-dist-not-found\target\usr\Scripts\my_project-script.py", line 6, in <module>
    from pkg_resources import load_entry_point
  File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 3105, in <module>
    @_call_aside
  File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 3089, in _call_aside
    f(*args, **kwargs)
  File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 3118, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 578, in _build_master
    ws.require(__requires__)
  File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 895, in require
    needed = self.resolve(parse_requirements(requirements))
  File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 781, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'my-project==0.1.0' distribution was not found and is required by the application

这个Q类似于pkg_resources.DistributionNotFound when using a module installed from a bdist_rpm,但不是构建RPM。使用--prefix解决了这个问题。这对我没用。我在Windows10、LinuxMint和Debian上复制了相同的问题。在

回购中的完整代码:https://github.com/maphew/scraps/tree/master/bug-dist-not-found


Tags: inpyprojectbinmypackageslinepy3
1条回答
网友
1楼 · 发布于 2024-06-16 13:49:57

我也有同样的问题。问题是代码在一台计算机上工作,而在另一台计算机上不工作。我也在用我造的轮子。总之,我找到的解决方案是升级pip和我的包。例如

pip install  upgrade pip path/to/my_package

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

相关问题 更多 >