2017-04-26 222 views
0

我運行到哪裏執行pip install python-sdk-auth一個問題,我得到這個錯誤:可以使用pip搜索PyPI包,但無法安裝。 easy_install的正常工作

Could not find a version that satisfies the requirement python-sdk-auth (from versions:) No matching distribution found for python-sdk-auth

這個包始建運行:

python setup.py bdist_egg --exclude-source-files

到只包含.pyc文件 並通過此上傳twine

twine upload dist/<packagename>.egg

這裏有更多的觀察:

  1. 我能pip search python-sdk-auth和包裝似乎是存在於包目錄。
  2. 我可以做easy_install python-sdk-auth,並且軟件包將成功安裝。
  3. 我正在運行python v2.7。

看來我可以通過easy_install來做到這一點,但不是pip。我的主要目的是讓這個軟件包成爲另一個軟件包的依賴關係(通過setup.py中的install_requires參數指定,但似乎甚至通過pip installvirtualenv環境中安裝此程序會引發上述錯誤。謝謝!

+0

跟進:這都與使用不同設備的格式,當它最初被上傳到PyPI將PIP VS easy_install的呢? https://packaging.python.org/pip_easy_install/請參閱:比較表中的安裝格式。 – tzhenghao

回答

1

的PyPI上可用的軟件包唯一的分佈是一個雞蛋,由setuptools的使用(並因此easy_install),而不是點子舊的格式。皮普只能安裝從sdist取得源代碼分發包(每包裹應該有)和從輪子(替換蛋格式,這應該是首選蛋99.9999%的時間)。建立&上載一個(或更好,兩個)這些文件到PyPI,使您的包在通過點可以實現。

建議進一步閱讀:https://packaging.python.org/distributing/

+0

好酷。作爲後續:有沒有辦法通過'bdist_wheel'將這個包分發爲.pyc文件?是否有CLI選項? ('bdist_egg'有--'exclude-source-files')我似乎無法在文檔上找到一個。或者我需要像「Cython」這樣的東西?我知道這不被推薦,但我認爲它現在「足夠好」了。 – tzhenghao

+0

@tzhenghao:您項目的元數據表示您將根據MIT許可證發佈它,這意味着它是開源的。如果這個項目是真正開源的,那麼應該沒有理由不分發源文件。如果你堅持要保守源代碼的祕密,我建議不要試圖通過PyPI分發它,而我對你的努力的進一步想法會違反SO的「變得很好」政策。 – jwodder

+0

是的,我完全錯過了。我現在就改變它 – tzhenghao