Python、Conda、PyCharm入门踩坑系列
今日踩坑
1. PyCharm工程的virtualenv Environment和Conda Environment有什么关系?
这个问题困扰了我很久,现在也并没有完全搞清楚,经过实验得出结论,conda创建虚拟环境存在于conda安装包下的envs文件夹下,virtualenv的虚拟环境则在工程文件下的vnev文件下,virtualenv 创建的虚拟环境需要用到Python解释器,可以使用conda虚拟环境中的解释器或者是Python官网解释器。
另外在创建virtualenv 虚拟环境的过程中遇到一个问题,就是在选择解释器时,选用官网Python解释器没有任何错误(Python3.8.2版本),当选择conda虚拟环境中的解释器时,Python版本只要超过3.6就会报错(3.7.0及以上),报错内容是:
UserWarning: mkl-service package failed to import, therefore Intel® MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package
目前没有找到有效的解决方案,只是将conda虚拟环境的Python版本降到了3.6,避免该错误的发生。
另外,当选用conda虚拟环境的Python版本在3.7.7以上时,在PyCharm工程中使用terminal终端pip安装包时也会报错,报错内容是:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
尚未找到解决方案!
若有大佬遇到以上问题,望告知!
2.PyCharm工程下的venv文件是干嘛的?
venv文件是该工程的运行环境文件,PyCharm创建工程时可以选择Virtualenv独立的虚拟环境,或者是选择conda虚拟环境,两者的区别在于conda虚拟环境会在conda的venv文件夹下创建一个新的虚拟Python环境,而选择Virtualenv则不会创建新的Python环境,他只会在工程文件下创建运行环境,conda下envs虚拟环境又可以被用于其他新的工程创建时引用,即类似于双重隔离,conda的虚拟环境是第一层,Virtualenv的虚拟环境是第二层,第一层对第二层是1:n的关系。
3. .创建工程勾选inherit global site-pakebags的作用?
可以引用该环境下所有安装的库,而不需要重新安装。
缺点:即使是创建Virtualenv虚拟环境,但是如果在该工程下pip安装了其他的包,则在对应的conda虚拟环境中也会安装这些包,破坏了原有的conda环境,不过我觉得问题不大。
本文地址:https://blog.csdn.net/tiaochewang219/article/details/107292942
上一篇: ReentrenLock的用法