4

我制作了一个名为 Pillow3f 的库。我试图将它上传到 Pypi。这是我执行此操作的步骤以及尝试安装它时收到的错误。我使用的是 Python3.6,并且我已经检查了最新的 dist 文件夹以确保它显示为 python36。

我从这个开始:

python setup.py bdist

然后,它给了我 Pillow3f.egg-info、dist 和 build。然后我运行了这个命令

twine upload dist/*

在这两个过程中我没有收到错误。接下来,我继续尝试下载它。

pip install Pillow3f

并收到此错误:

Could not find a version that satisfies the requirement pillow3f (from versions: 0.0.1.win-amd64, 0.1.0.win-amd64, 0.1.1.win-amd64, 1.0.win-amd64) No matching distribution found for pillow3f

它检查了,我确实上传了许多不同版本的文件,每个文件都用来解决正在发生的事情。我去了 PyPi 帮助页面无济于事。有谁知道出了什么问题?我正在使用 Windows,不介意在评论中提供额外信息。

还可能值得一提的是,当我尝试这样做时:

pip install https://files.pythonhosted.org/packages/74/cb/100cdf7d1cc4a599be6d2bbe3aebec348e2
8b7d307d2bf50c08149cea86d/Pillow3f-1.0.win-amd64.zip

我收到了这个错误

C:\Users\*********>pip install https://files.pythonhosted.org/packages/74/cb/100cdf7d1cc4a599be6d2bbe3aebec348e28b7d307d2bf50c08149cea86d/Pillow3f-1.0.win-amd64.zip
Collecting https://files.pythonhosted.org/packages/74/cb/100cdf7d1cc4a599be6d2bbe3aebec348e28b7d307d2bf50c08149cea86d/Pillow3f-1.0.win-amd64.zip
  Using cached https://files.pythonhosted.org/packages/74/cb/100cdf7d1cc4a599be6d2bbe3aebec348e28b7d307d2bf50c08149cea86d/Pillow3f-1.0.win-amd64.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\**********\appdata\local\programs\python\python36\lib\tokenize.py", line 452, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\**********\\AppData\\Local\\Temp\\pip-req-build-rwbj64rl\\setup.py'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\**********\AppData\Local\Temp\pip-req-build-rwbj64rl\
4

2 回答 2

2

当构建的发行版 (bdists) 与您尝试安装软件包的平台或体系结构都不兼容时,就会发生这种情况。您是否有可能在非 Windows 环境中安装软件包?

除非您的项目依赖于 C 扩展或其他特定于平台的代码,否则最简单的解决方案也是发布源代码分发:

$ python setup.py sdist
$ twine upload dist/Pillow3f-1.0.tar.gz

任何平台都可以使用源代码分发,并在没有可用的构建分发的情况下提供回退。

于 2018-09-09T18:32:11.290 回答
0

python setup.py bdist创建一个“哑”安装程序包,这是 pip 不支持的过时格式。构建和上传的正确且受支持的包格式是 sdist ( python setup.py sdist) 和 wheel ( python setup.py bdist_wheel)。

于 2018-09-09T18:40:42.763 回答