python-3.x - setup.py 找不到预安装的依赖项
问题描述
我正在尝试安装我通过运行编写的包
python setup.py install
在包目录中。我的文件夹结构如下:
package
-module
--__init__.py
--parent_class.py
--child_class.py
-setup.py
这里'-'表示文件夹级别,包是根目录。
运行安装时按预期工作,直到:
Installed c:\users\me\appdata\local\continuum\anaconda3\lib\site-
packages\package-0.1-py3.7.egg
Processing dependencies for package==0.1
Searching for json
Reading https://pypi.org/simple/json/
Couldn't find index page for 'json' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
No local packages or working download links found for json
error: Could not find suitable distribution for Requirement.parse('json')
我不认为这是 json 包安装的问题,因为:
- 我知道我已经安装了它(我可以在我的环境中运行'import json')并且因为如果我删除它。
- 如果我从中删除“json”,
install_requires=['pandas', 'numpy', 'datetime', 'os', 'copy', 'json']
则只会返回相同的错误,这次是“copy”,然后是“os”包。
提前致谢
解决方案
我相信json
它是 Python 2 和 3 中的一个内置模块(例如,like open
)。因此,它通常包含在所有 Python 发行版中(也就是说,任何拥有 Python 的人都可能也拥有该json
模块)。
因此,您应该能够json
从您的要求中省略(同时仍将其导入您的代码中)。由于json
它是一个内置模块,因此您可以假设任何安装了 Python 的人也将拥有json
.
我发现这个问题也与安装json
模块有关。第二个答案指出,最小的 Python 安装(例如,python-minimal
在 Ubuntu 中)可能不包括json
. 您应该注意,链接的问题涉及 Python 2 而不是 3。
因此,如果用户json
在他们的系统上缺少,他们应该能够通过他们系统的包管理器(在 Linux 中)安装它,而不是pip
. 在 Windows 中,我假设所有 Python 安装都将包含内置模块(尽管我不确定)。无论如何,如果用户没有json
安装,那么我认为由用户来安装它。
这同样适用于os
、copy
和datetime
。仅pandas
且numpy
需要包含在您的要求中。
您可以在此处找到内置模块列表(适用于 Python 3)。同样,此处列出的模块不是托管在 pypi 上的模块(因此不能通过pip install ...
、conda install ...
等),但通常包含在所有 Python 发行版中。
顺便说一句:这是我在这里的第一个答案。如果我能改进它,请告诉我。
推荐阅读
- ibm-mq - IBM MQ 错误 2009 - 如何检测队列管理器何时启动自己的线程
- android - Kotlin 1.2.40 版本上的 Kotlin 房间数据库崩溃
- google-sheets - 在 Google 表格中使用匹配和间接时出错
- class - 在 typescript 中扩展 Request 编译为带有 TypeError 的 ES5
- ios - UIImagePickerController videoMaximumDuration 不起作用
- sql - DB2 SQL 列到行
- javascript - Tui 图表依赖缺失?
- r - !str_detect(col, pattern) 从 data.frame 中删除的行多于 str_detect(col, pattern)
- arduino - 无法将程序上传到 ESP8266
- html - 将 div 居中在 2 个 div 上的 CSS 指南