python pypi उपयोगकर्ता चेतावनी: अज्ञात वितरण विकल्प: 'install_requires'




distutils (6)

जहां तक ​​मैं कह सकता हूं, यह setuptools में एक बग है जहां यह मानक लाइब्रेरी में बेस क्लास को कॉल करने से पहले setuptools विशिष्ट विकल्पों को नहीं हटा रहा है: https://bitbucket.org/pypa/setuptools/issue/29/avoid-userwarnings-emitted-when-calling

यदि आपके import setuptools . import setuptools में एक बिना शर्त import setuptools है (जैसा कि आपको setuptools विशिष्ट विकल्पों का उपयोग करना चाहिए), तो तथ्य यह है कि स्क्रिप्ट import setuptools में विफल नहीं है, यह इंगित करता है कि setuptools ठीक से स्थापित है।

आप चेतावनी को निम्नानुसार चुप कर सकते हैं:

python -W ignore::UserWarning:distutils.dist setup.py <any-other-args>

केवल तभी ऐसा करें जब आप बिना शर्त आयात का उपयोग करते हैं जो सेटअपtools इंस्टॉल नहीं होने पर पूरी तरह विफल हो जाएगा :)

(मैं पोस्ट विलय सेटअपtools repo से चेकआउट में यह वही व्यवहार देख रहा हूं, यही कारण है कि मुझे विश्वास है कि यह एक सिस्टम कॉन्फ़िगरेशन समस्या के बजाय सेटअप सेटअप बग है। मुझे उम्मीद है कि प्री-मर्ज वितरण में एक ही समस्या होगी)

https://code.i-harness.com

क्या किसी को पीआईपीआई पैकेज के python setup.py install को निष्पादित करते समय इस चेतावनी का सामना करना पड़ता है?

install_requires परिभाषित करता है कि पैकेज को क्या चाहिए। बहुत सारे पीईपीआई पैकेजों में यह विकल्प है। यह एक "अज्ञात वितरण विकल्प" कैसे हो सकता है?


मैं अजगर 2.7.11 के साथ एक मैक पर हूँ। मैं बेहद सरल और सीधी परियोजनाओं के निर्माण के साथ झुका रहा हूं, जहां मेरी एकमात्र आवश्यकता यह है कि मैं python setup.py install चला सकता हूं, और setup.py को सेटअप कमांड का उपयोग कर सकता हूं, आदर्श रूप से distutils से। क्वॉर्ग से setup() करने के लिए सचमुच कोई अन्य आयात या कोड नहीं है setup() जो मैंने यहां नोट किया है उसके अलावा।

मुझे त्रुटि मिलती है जब मेरी setup.py फ़ाइल के आयात होते हैं:

from distutils.core import setup

जब मैं इसका उपयोग करता हूं, तो मुझे चेतावनियां मिलती हैं

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.pys67: उपयोगकर्ता चेतावनी: अज्ञात वितरण विकल्प: 'entry_points' चेतावनियां। चेतावनी ( संदेश)

अगर मैं निम्नलिखित में आयात (और कुछ और नहीं ) बदलता हूं:

from distutils.core import setup
import setuptools  # noqa

चेतावनी दूर चली जाती है।

ध्यान दें कि मैं setuptools का उपयोग नहीं कर रहा setuptools , बस आयात करने से यह व्यवहार बदल जाता है कि यह अब चेतावनियों को उत्सर्जित नहीं करता है। मेरे लिए, यह वास्तव में परेशान अंतर का कारण है जहां कुछ परियोजनाएं जिनका उपयोग मैं कर रहा हूं, उन चेतावनियों को देते हैं, और कुछ अन्य नहीं करते हैं।

जाहिर है, बंदर-पैचिंग का कुछ रूप चल रहा है, और यह प्रभावित होता है कि आयात किया जाता है या नहीं। यह शायद इस समस्या का शोध करने वाले हर किसी के लिए स्थिति नहीं है, लेकिन संकीर्ण माहौल के लिए जिसमें मैं काम कर रहा हूं, यही वह जवाब है जिसे मैं ढूंढ रहा था।

यह अन्य (समुदाय) टिप्पणी के अनुरूप है, जो कहता है कि distutils monkeypatch setuptools चाहिए, और जवाब देने के दौरान उन्हें समस्या थी। ऐसा लगता है कि अतीत में सेटअप टॉल्स के बिना इंस्टॉलेशन को अनुमति देने की कोशिश की गई है, और फिर उस पर वापस चला गया।

https://github.com/ansible/ansible/blob/devel/setup.py

हवा में बहुत सी चीजें हैं ... लेकिन यदि आप एक साधारण परियोजना के लिए एक साधारण उत्तर की तलाश में हैं, तो आपको शायद setuptools आयात करना चाहिए।


यह distutils से एक चेतावनी है, और एक संकेत है कि आपके पास setuptools स्थापित नहीं है। इसे http://pypi.python.org/pypi/setuptools से इंस्टॉल करना चेतावनी को हटा देगा।


python setup.py का उपयोग करता है जो install_requires का समर्थन नहीं करता है। setuptools करता है, भी वितरित करता है (इसके उत्तराधिकारी), और पीआईपी (जो या तो उपयोग करता है) करते हैं। लेकिन आपको वास्तव में उनका उपयोग करना होगा। Ie easy_install कमांड या pip install माध्यम से setuptools कॉल करें।

एक और तरीका है setup setup में setuptools से सेटअप आयात करना, लेकिन यह मानक नहीं है और जो भी आपके पैकेज का उपयोग करना चाहता है उसे सेटअपtools इंस्टॉल करना होगा।


ध्यान दें ! ध्यान दें ! आगे प्रभावशाली जवाब। पाइथन ब्रह्मांड में पैकेजिंग की स्थिति पर "नवीनतम ज्ञापन" प्राप्त करने के लिए, इस काफी विस्तृत निबंध को पढ़ें।

जवाब देने / इंस्टॉल करने का प्रयास करते समय मैंने अभी इस समस्या में भाग लिया है। समस्या यह प्रतीत होती है कि distutils वास्तव में install_requires का समर्थन नहीं करता है । Setuptools बंदर-पैच distutils ऑन-द-फ्लाई चाहिए, लेकिन ऐसा नहीं है, शायद इसलिए कि सेटअपtools की अंतिम रिलीज 200 9 से 0.6c11 है, जबकि distutils एक कोर पायथन परियोजना है।

तो setuptools-0.6c11-py2.7.egg को मैन्युअल रूप से स्थापित करने के बाद भी setup.py को dist.pyils dist.py को चुनता है, और साइट-पैकेज / setuptools / से कोई नहीं।

इसके अलावा setuptools प्रलेखन ez_setup का उपयोग करने के लिए संकेत ez_setup और ez_setup नहीं।

हालांकि, setuptools खुद को आजकल distribute करके प्रदान किया distribute है, और सेटअप () का स्वाद install_requires का समर्थन करता है।


sudo apt-get install python-dev  # for python2.x installs
sudo apt-get install python3-dev  # for python3.x installs

यह किसी भी लापता हेडर स्थापित करेगा। यह मेरी समस्या हल हो गया





pypi