2

小さなツールを作成し、pypi (ここ) にアップロードしましたが、pip を使用してダウンロードできません。ピップログは次のとおりです。

------------------------------------------------------------
c:\python32\scripts\pip-script.py run on 04/11/12 15:53:45
Downloading/unpacking undo

  Getting page http://pypi.python.org/simple/undo
  Could not fetch URL http://pypi.python.org/simple/undo: HTTP Error 301: Moved Permanently - Redirection to url '/simple/undo/' is not allowed
  Will skip URL http://pypi.python.org/simple/undo when looking for download links for undo
  Getting page http://pypi.python.org/simple/
  Real name of requirement undo is undo

  URLs to search for versions for undo:
  * http://pypi.python.org/simple/undo/
  Getting page http://pypi.python.org/simple/undo/
  Getting page http://bitbucket.org/aquavitae/undo
  Analyzing links from page http://pypi.python.org/simple/undo/
    Skipping link http://bitbucket.org/aquavitae/undo (from http://pypi.python.org/simple/undo/); not a file
    Could not parse version from link: https://bitbucket.org/aquavitae/undo/get/latest.tar.gz (from http://pypi.python.org/simple/undo/)
    Skipping link https://bitbucket.org/aquavitae/undo/get/latest.tar.gz (from http://pypi.python.org/simple/undo/); wrong project name (not undo)
  Could not find any downloads that satisfy the requirement undo

No distributions at all found for undo

Exception information:
Traceback (most recent call last):
  File "C:\python32\lib\site-packages\pip\basecommand.py", line 104, in main
    status = self.run(options, args)
  File "C:\python32\lib\site-packages\pip\commands\install.py", line 245, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "C:\python32\lib\site-packages\pip\req.py", line 978, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "C:\python32\lib\site-packages\pip\index.py", line 157, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for undo

誰かが私が間違っているところを見ることができますか? 私はプロキシの背後にいます。これが問題かもしれませんが、pip は他のパッケージには問題がなく、これだけなので、何らかの形でパッケージを間違っていると思います。

4

5 に答える 5

1

複数の問題があります: tar ファイルにパッケージ名が含まれていません (「元に戻す」は「latest.tar.gz」の部分文字列ではありません)。そして、何らかの理由で pypi がリダイレクトしたかった (これは正常ではないように思われるので、それについては説明しません)。

通常、pip は最初に、ホームページとhttp://pypi.python.org/simple/undo/で pypi が提供するダウンロード ページの両方で、パッケージ名に一致するすべての URL を調べます(両方を指定したと仮定します)。プロジェクト名が含まれているページの URL はどこかに分析されます。

pip が URL を拒否する原因はいくつかあります。

Skipping link http://bitbucket.org/aquavitae/undo (from http://pypi.python.org/simple/undo/); not a file

この URL には undo が含まれていますが、ファイルを指していません。

Could not parse version from link: https://bitbucket.org/aquavitae/undo/get/latest.tar.gz (from http://pypi.python.org/simple/undo/)

バージョン番号はありませんlatest.tar.gz

Skipping link https://bitbucket.org/aquavitae/undo/get/latest.tar.gz (from http://pypi.python.org/simple/undo/); wrong project name (not undo)

undoファイル コンポーネントにプロジェクト名がありません。

現在機能しているhttps://bitbucket.org/aquavitae/undo/downloadsのは、アクセス可能であり、ファイル名部分に元に戻すリンクが 3 つあり、元に戻せないリンクが多数あるためです。使用する:

pip install undo --no-install --log undo.log

undo.logそしてファイルを見てください。

pip は pkg_resources (dist_packages 内) の関数 parse_versions を使用して、利用可能な最新バージョンを判断することに注意してください。そのundo-1.1.tar.gzため、pypi のダウンロード リンクでバージョンを明示的に指定したとしても、ホームページundo-1.2-dev-20120614が後者のような新しいバージョンを指している場合は、見つかったものと見なされます。

于 2012-06-14T09:53:41.990 に答える
1

https での bitbucket へのリンクは、認証されている場合にのみ機能します。代わりに、bitbucket で http リンクを使用してください。

(pypiページのウェブサイト/問題追跡リンクの両方で同じ問題が発生しました。最初にログインしないとアクセスできません)

編集:httpリンクがログインページにリダイレクトされ、ログイン後、次のようになりました:

このリポジトリへのアクセス権がありません。

于 2012-04-11T14:37:04.700 に答える
0

pip のバグなのか意図的なものなのかはわかりませんが、bitbucket サイトを開くと、実際にダウンロードする必要のある (そしてダウンロードした) ファイルが pypi でホストされているにもかかわらず、機能しました。したがって、他の誰かがこの問題を抱えている場合、解決策は、ダウンロード ファイルをホストしていなくても、pypi ページのすべてのリンクにアクセスできるようにすることです。

于 2012-04-12T05:21:04.670 に答える
0

https://bitbucket.org/aquavitae/undo/get/undo-0.5.1.tar.gzに変更しsetup.pyます。download_url

于 2012-04-13T13:28:12.517 に答える
0

latest.tar.gz#egg=undo のようなもので終わるリンクを使用する必要がある場合があります。

于 2012-04-12T04:24:06.067 に答える