ÉèΪÊ×Ò³ - ¼ÓÈëÊÕ²Ø ASPÕ¾³¤Íø£¨Aspzz.Cn£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔƼÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø£¡
ÈÈËÑ£º ÖØРÊÔ¾í Îļþ
µ±Ç°Î»Ö㺠Ê×Ò³ > ÔËÓªÖÐÐÄ > ½¨Õ¾×ÊÔ´ > ÓÅ»¯ > ÕýÎÄ

´úÂëÏê½â£ºPythonÐéÄâ»·¾³µÄÔ­Àí¼°Ê¹ÓÃ(3)

·¢²¼Ê±¼ä£º2019-07-02 08:04 ËùÊôÀ¸Ä¿£º21 À´Ô´£º¶ÁоÊõ
µ¼¶Á£º´ó¹¦¸æ³É£¬¶à¿÷ÁËrequirements.txtÎļþ£¬ÓÖ»Ö¸´ÁËÕý³£¡£È»¶øÁíÒ»¸öÔ­ÒòÊÇʼÖÕÒªÔÚÏîÄ¿ÖÐÁÐÈëÐèÇóÎļþ¡£ µ«¶¡Óë±ùÖеÄÅÑͽ¶Ô»°µ«¶ ¶ÉñÇúµØÓüƪ¡·µÚ32Õ ²åͼ£ºGustave Dor 5. ÐéÄâ»·¾³ÈçºÎ×öµ½ÕâÒ»µã? ÏëÁ˽â¸ü¶àÓÐ

´ó¹¦¸æ³É£¬¶à¿÷ÁËrequirements.txtÎļþ£¬ÓÖ»Ö¸´ÁËÕý³£¡£È»¶øÁíÒ»¸öÔ­ÒòÊÇʼÖÕÒªÔÚÏîÄ¿ÖÐÁÐÈëÐèÇóÎļþ¡£

´úÂëÏê½â£ºPythonÐéÄâ»·¾³µÄÔ­Àí¼°Ê¹ÓÃ

µ«¶¡Óë±ùÖеÄÅÑͽ¶Ô»°——µ«¶¡¡¶ÉñÇú·µØÓüƪ¡·µÚ32ÕÂ

²åͼ£ºGustave Doré

5. ÐéÄâ»·¾³ÈçºÎ×öµ½ÕâÒ»µã?

ÏëÁ˽â¸ü¶àÓйØÐéÄâ»·¾³µÄÐÅÏ¢Âð?±ÈÈ磬»î¶¯»·¾³ÈçºÎʹÓÃÕýÈ·µÄPython½âÊͳÌÐò²¢ÈçºÎÕÒµ½ºÏÊʵĵÚÈý·½¿â?

(1) echo $ PATH

ÕâÒ»Çж¼¹é½áΪPATHµÄ¼ÛÖµ£¬Ëü¸æËßshellʹÓÃʲôPythonʵÀýÒÔ¼°ÔÚÄÄÀïÑ°ÕÒÍøÕ¾°ü¡£ÔÚ»ù´¡shellÖУ¬PATH¿´ÆðÀ´»ò¶à»òÉÙÊÇÕâÑù±íÏֵġ£

  1. % echo $PATH 
  2. /usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin 

µ÷ÓÃPython½âÊÍÆ÷»òÔËÐÐ.py½Å±¾Ê±£¬shell»á°´Ë³ÐòËÑË÷PATHÖÐÁгöµÄĿ¼£¬Ö±µ½Óöµ½PythonʵÀý¡£Òª²é¿´PATHÊ×ÏÈÕÒµ½µÄPythonʵÀý£¬ÇëÔËÐÐwhich python3¡£

  1. % which python3 
  2. /usr/local/bin/python3                 # Your output may differ 

ͨ¹ýÕ¾µãÄ£¿é(ÕâÊÇPython±ê×¼¿âµÄÒ»²¿·Ö)²éÕÒ´ËPythonʵÀý²éÕÒÕ¾µã°üµÄλÖÃÒ²ºÜÈÝÒס£

  1. % python3                           # Activates a Python shell 
  2. >>> import site                       
  3. >>> site.getsitepackages()          # Points to site-packages folder['/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'] 

ÔËÐнű¾venv / bin / activateÐÞ¸ÄPATH£¬ÒÔ±ãshellÔÚËÑË÷ϵͳµÄÈ«¾Ö¶þ½øÖÆÎļþ֮ǰËÑË÷ÏîÄ¿µÄ±¾µØ¶þ½øÖÆÎļþ¡£

  1. % cd ~/test-project/ 
  2. % source venv/bin/activate 
  3. (ven) % echo $PATH~/test-project/venv/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin 

ÏÖÔÚshellÖªµÀÈçºÎʹÓÃÏîÄ¿µÄ±¾µØPythonʵÀý£º

  1. (venv) % which python3 
  2. ~/test-project/venv/bin/python3 

ÔÚÄÄÀï¿ÉÒÔÕÒµ½ÏîÄ¿µÄ±¾µØÕ¾µã°ü?

  1. (venv) % python3 
  2. >>> import site 
  3. >>> site.getsitepackages()['~/test-project/venv/lib/python3.7/site-packages']    # Ka-ching 

(2) ÀíÖǼì²é

»¹¼ÇµÃÒÔÇ°µÄtests / imports-test.py½Å±¾Âð?¿´ÆðÀ´ÊÇÏÂÃæÕâÑù£º

  1. #!/usr/bin/env python3 
  2. import numpy as np  

ÎÒÃÇÄܹ»Ôڻ»·¾³ÖÐÔËÐд˽ű¾£¬²»³öÏÖÈκÎÎÊÌ⣬ÊÇÒòΪ»·¾³ÖеÄPythonʵÀýÄܹ»·ÃÎÊÏîÄ¿µÄ±¾µØÕ¾µã°ü¡£

Èç¹ûÔËÐдÓÏîÄ¿µÄÐéÄâ»·¾³Íⲿ¶øÀ´µÄÏàͬ½Å±¾»á·¢Éúʲô?

  1. % tests/imports-test.py                # Look, no active environmentTraceback (most recent call last): 
  2.   File "tests/imports-test.py", line 3, in <module> 
  3.     import numpy as npModuleNotFoundError: No module named 'numpy' 

Êǵģ¬³öÏÖÁËÒ»¸ö´íÎ󣬵«ÎÒÃÇÓ¦¸ÃÕâÑù×ö¡£Èç¹ûÎÒÃDz»ÕâÑù×ö£¬ÄǾÍÒâζ×ÅÎÒÃÇÄܹ»´ÓÏîÄ¿Íⲿ·ÃÎÊÏîÄ¿µÄ±¾µØÕ¾µã°ü£¬´Ó¶øÆÆ»µÁËÓµÓÐÐéÄâ»·¾³µÄÕû¸öÄ¿µÄ¡£³öÏÖ´íÎóµÄÊÂʵ֤Ã÷ÎÒÃǵÄÏîÄ¿ÓëϵͳµÄÆäËû²¿·ÖÍêÈ«¸ôÀë¡£

(3) »·¾³µÄĿ¼Ê÷

ÓÐÒ»¼þÊ¿ÉÒÔ°ïÖúÕûÀíËùÓÐÕâЩÐÅÏ¢£¬¼´Çå³þµØÁ˽⻷¾³Ä¿Â¼Ê÷µÄÍâ¹Û¡£

  1. test-project/venv/               # Our environment's root directory 
  2. ©À©¤©¤ bin 
  3. ©¦   ©À©¤©¤ activate                           # Scripts to activate 
  4. ©¦   ©À©¤©¤ activate.csh                       # our project's 
  5. ©¦   ©À©¤©¤ activate.fish                      # virtual environment. 
  6. ©¦   ©À©¤©¤ easy_install 
  7. ©¦   ©À©¤©¤ easy_install-3.7 
  8. ©¦   ©À©¤©¤ pip 
  9. ©¦   ©À©¤©¤ pip3 
  10. ©¦   ©À©¤©¤ pip3.7 
  11. ©¦   ©À©¤©¤ python -> /usr/local/bin/python    # Symlinks to system-wide 
  12. ©¦   ©¸©¤©¤ python3 -> python3.7               # Python instances. 
  13. ©À©¤©¤ include 
  14. ©À©¤©¤ lib 
  15. ©¦   ©¸©¤©¤ python3.7 
  16. ©¦       ©¸©¤©¤ site-packages              # Stores local site packages 
  17. ©¸©¤©¤ pyvenv.cfg 

´úÂëÏê½â£ºPythonÐéÄâ»·¾³µÄÔ­Àí¼°Ê¹ÓÃ

µ«¶¡ºÍά¼ª¶û»Øµ½ÁËÈËÊÀ¼ä——µ«¶¡¡¶ÉñÇú·µØÓüƪ¡·µÚ34ÕÂ

²åͼ£ºGustave Doré

£¨±à¼­£ºASPÕ¾³¤Íø£©

ÍøÓÑÆÀÂÛ
ÍƼöÎÄÕÂ
    ÈȵãÔĶÁ