最近重新啟用了PyCharm, 發(fā)現(xiàn)Anaconda和miniconda3在被引入到PyCharm中作項(xiàng)目的Interpreter時(shí)不是很好用(是很不好用), 但由于我的一些項(xiàng)目是Python3.6上跑的, 為了防止出亂子, 還是決定再在系統(tǒng)中安裝的Python3.6(已經(jīng)有安裝了Python3.5)并將這個(gè)安裝作為PyCharm中的Project Interpreter.
我使用了安裝包安裝的, 在安裝過(guò)程中, 截了2張圖, 想說(shuō)明一下:
圖中說(shuō)明, Python Framework是必須安裝的, 這個(gè)Framework指的是什么? 用以下路徑來(lái)說(shuō)明一下吧:
/Library/Frameworks/Python.framework/Versions/3.6/...
, 這不單單只一個(gè)解釋器那么簡(jiǎn)單, 這個(gè)3.6
文件夾下面的所有東西, 都囊括在這個(gè)Framework之下.
這張圖又說(shuō)明了什么? 圖中的
Install Certificates.command
這個(gè)文件在MacOS的"應(yīng)用程序"中的"Python 3.6"文件夾中(Python3.6安裝完成后自動(dòng)生成), 是個(gè)bash
腳本, 其文件內(nèi)容如下:
#!/bin/sh
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 << "EOF"
# install_certifi.py
# sample script to install or update a set of default Root Certificates
# for the ssl module. Uses the certificates provided by the certifi package:
# https://pypi.org/project/certifi/
import os
import os.path
import ssl
import stat
import subprocess
import sys
STAT_0o775 = ( stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR
| stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP
| stat.S_IROTH | stat.S_IXOTH )
def main():
openssl_dir, openssl_cafile = os.path.split(
ssl.get_default_verify_paths().openssl_cafile)
print(" -- pip install --upgrade certifi")
subprocess.check_call([sys.executable,
"-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"])
import certifi
# change working directory to the default SSL directory
os.chdir(openssl_dir)
relpath_to_certifi_cafile = os.path.relpath(certifi.where())
print(" -- removing any existing file or link")
try:
os.remove(openssl_cafile)
except FileNotFoundError:
pass
print(" -- creating symlink to certifi certificate bundle")
os.symlink(relpath_to_certifi_cafile, openssl_cafile)
print(" -- setting permissions")
os.chmod(openssl_cafile, STAT_0o775)
print(" -- update complete")
if __name__ == '__main__':
main()
EOF
其中的第二行, 可以看到Python3.6這個(gè)解釋器的安裝位置, 這段腳本也是sample script to install or update a set of default Root Certificates for the ssl module
. (#手動(dòng)狗頭#)
Python, 是, 但不僅僅是解釋器.