无法使pip和setuptools达成一致

2024-09-29 23:33:02 发布

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

我一直在努力将我的代码拆分成不同的模块和包

将我的一个库更改为git子模块后,我无法同时安装pip和setuptools

我已经做了一些事情来让它工作,我最终认为我一定是做错了。所以我试着用诗歌来表达。但是我得到了同样的结果

因此,如果我在我的诗歌配置中这样做:

packages = [
    { include = "sophoscli.py" },
    { include = "sophosApi" },
]

[tool.poetry.dependencies]
python = ">=3.8"
sophosapi = {path = "./sophosApi"}

然后

poetry build

然后尝试安装它生成的软件包,我得到: pip._vendor.pkg_resources.RequirementParseError: Invalid URL: sophosApi 而且setuptools也无法安装它

生成的setup.py文件是:

# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['sophosApi', 'sophosApi.docs.source', 'sophosApi.sophosApi']

package_data = \
{'': ['*'], 'sophosApi': ['docs/*']}

modules = \
['sophoscli']
install_requires = \
['sophosapi @ sophosApi']

setup_kwargs = {
    'name': 'sophoscli',
    'version': '1.0.0',
    'description': 'Cli for sophosApi',
    'long_description': None,
    'author': '',
    'author_email': '',
    'maintainer': None,
    'maintainer_email': None,
    'url': '',
    'packages': packages,
    'package_data': package_data,
    'py_modules': modules,
    'install_requires': install_requires,
    'python_requires': '>=3.8',
}


setup(**setup_kwargs)

在我尝试诗歌之前,我注意到如果我这样做了,我能够让安装工具工作:

install_requires = ['sophosApi']
dependency_links = [f"""{os.path.join(os.getcwd(), 'sophosApi')}#egg=sophosApi-1.0.0""",]

但是,皮普仍然无法工作

当sophosApi是它自己的软件包时,有没有办法让它工作


Tags: 模块installpippynonemodulespackagedata

热门问题