मैं आज ही यह कर रहा था, ऐसा लगता है जैसे स्पष्ट प्रलेखन उन लोगों के लिए दुर्लभ है जो क्या स्थापित है, और कहाँ पर कुछ नियंत्रण रखना चाहते हैं।
मान लीजिए कि आपने pip3 इंस्टॉल किया है जो भी हो, यह ~ / .local के तहत सामान डालने के लिए डिफॉल्ट करता है, जैसा कि आप जानते हैं। फ़ाइल प्रकारों को विभाजित करने के लिए यूनिक्स में इसकी प्रथा, ~ / .लोकल / बिन के तहत "रन करने योग्य" डालते हैं।
एक टर्मिनल में, अपना रास्ता देखने के लिए इसे टाइप करें:
$ echo $PATH
जांचें कि आपके पास ~ / .local में स्थापित अजगर सामग्री है
$ ls -la ~/.local/bin
यह पुष्टि करता है कि निष्पादन योग्य फाइलें मेरे लिए हैं, या मेरे लिए है। यदि वे फ़ाइल अनुमतियां "x" दिखाते हैं तो वे निष्पादन योग्य हैं।
अब, उस निर्देशिका को टर्मिनल के भीतर पथ में जोड़ें
$ export PATH=~/.local/bin:$PATH
परिवर्तन देखने के लिए अपना पथ फिर से जांचें। कृपया याद रखें कि यह केवल उस टर्मिनल सत्र के लिए एक अस्थायी सेटिंग है। यह एक ही समय में या भविष्य में अन्य टर्मिनलों पर लागू नहीं होता है। चीजों को परखने के लिए यह एक अच्छी जगह है।
उसके बाद, ~ / .local / bin के भीतर निष्पादन योग्य प्रत्येक प्रोग्राम को कमांड लाइन में अपना नाम टाइप करने पर चलाना चाहिए। उदाहरण के लिए, "~ / .local / bin / jupyter" चलाने की कोई आवश्यकता नहीं है। बस "जुपिटर" टाइप करें। "./" की कोई आवश्यकता नहीं है जो आप कभी-कभी देखते हैं, जब आप कार्यशील निर्देशिका से एक प्रोग्राम लॉन्च करते हैं जो कि पथ में नहीं है।
यदि आप बाद में तय करते हैं कि आप इसे स्थायी बनाना चाहते हैं, ताकि ~ / .Local / bin आपके PATH में हमेशा बना रहे, तो आप कुछ पर्यावरण कॉन्फ़िगरेशन फ़ाइलों को संपादित करके ऐसा कर सकते हैं। आपके सेटअप के आधार पर, उदाहरण के लिए, मेरे होम फोल्डर ".bashrc" फ़ाइल में, अंतिम पंक्ति "PATH = $ PATH: $ HOME / bin" है। इसलिए मैं उस मोर्चे पर $ HOME / लोकल / बिन रख सकता था। नोट मैंने $ Home लिखी है, वहाँ "~" नहीं। फिर जब भी मैं एक BASH शेल का उपयोग करता हूं, PATH निश्चित हो जाएगा। यदि आप अन्य गोले का उपयोग कर सकते हैं, तो मुझे लगता है कि इसके बजाय ~ / .profile को संपादित करना सही बात है। मुझे लगता है कि उबंटू में सभी गोले उस फ़ाइल को स्रोत बनाएंगे।
मेरे मामले में, मैंने पाइप 3 के साथ कई कार्यक्रम स्थापित किए, जैसे कि ज्यूपिटर। यह सुनिश्चित करने का एक तरीका है कि जहां स्थापित किया गया था उसे चलाना है
$ pip3 list
उपलब्ध सभी पैकेजों को दिखाता है, न कि केवल pip3 द्वारा स्थापित।
$ pip3 show jupyter
मेरे मामले में, उदाहरण के लिए:
---
Metadata-Version: 2.0
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
Installer: pip
License: BSD
Location: /home/pauljohn/.local/lib/python3.5/site-packages
Requires: nbconvert, ipykernel, ipywidgets, notebook, jupyter-console, qtconsole
Classifiers:
Intended Audience :: Developers
Intended Audience :: System Administrators
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
मैं नहीं चाहता कि यह एक लौ की तरह लगे, लेकिन यह एक हमले की तरह लग सकता है। मैं आपको सलाह देता हूं कि उत्सुकता से सलाह का पालन न करें कि यहां कुछ लोग "sudo pip3 xxx" चलाने की पेशकश करेंगे। आम तौर पर, आप बजाय केवल डेबियन पैकेजों के साथ रूट इंस्टॉल करते हैं, pip3 के साथ नहीं। यदि आप sudo के बिना चलते हैं, तो आप उपयोगकर्ता खाते में खतरे को सीमित कर रहे हैं। यदि आप स्क्रिप्ट को रूट के रूप में चलाते हैं, तो आप अपनी हार्ड डिस्क के चारों ओर फाइलें बिखेर सकते हैं और इसे पछतावा कर सकते हैं। खासकर यदि अन्य लोग उस कंप्यूटर में लॉग इन करते हैं और उसका उपयोग करते हैं, तो जब तक आप आश्वस्त नहीं होते हैं तब तक कुछ भी करने से बचें।
यह भी ध्यान देने योग्य है, कि pip3 डिफॉल्ट को ~ / .लोक में स्थापित करने के लिए डिफॉल्ट करता है, लेकिन यह आवश्यक नहीं है। "मैन पिप 3" पढ़ें, "-t" (--target) देखें। आप इंस्टॉल डायरेक्टरी को निर्दिष्ट कर सकते हैं। मुझे लगता है कि यह अच्छा है क्योंकि आप किसी भी अन्य निर्देशिका को किसी भी नुकसान को सीमित कर सकते हैं और जब चाहें इसे हटा सकते हैं। ~ /। लोकोल में अन्य कार्यक्रमों द्वारा स्थापित इसमें अन्य मूल्यवान चीजें हो सकती हैं और आप उन्हें अनसुना नहीं करेंगे। मुझे लगता है कि ~ /। एक जगह के रूप में वैसे भी कार्यक्रमों की तुलना में सेटिंग्स के लिए अधिक है।