关于对pycharm的理解
这段时间一直在弄pycharm的环境问题,pycharm是基于python的。
我在工作中接手的项目配置的是python3.4,这不是最关键的,关键是32位的(求心理阴影面积),当时我的电脑里安装的是python3.7 64Bit,因为python版本问题遇到了不少问题。接下来仔细讲一讲。
对于32位于64位
刚开始对于这个没什么观念。因为我当时python3.7的环境里面的环境变量比较全,所以我把3.7的环境全部复制到了3.4的site-packages里面去了,结果一运行,发现出现了很多问题,具体报错如下:
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序
What??? 上网上搜索了一下发现是由于模块与python版本不对应造成的。
个人观点,不仅仅与版本有关,还有对应的python位数,因为有的包是专门为32位的准备的
找到了问题,那解决就很简单了。直接到site-packages里面删了对应的包,然后直接pip下载就可以了,注意在换python版本的时候,修改环境变量。然后运行cmd输入python查看下,确保万一
python的包
我在安装的时候是默认路径安装的。
python所有的环境都放在同一个包里,文档目录如下:
C:\Users\Zhangch\AppData\Local\Programs\Python\Python36\Lib\site-packages
分析目录,我找目录的时候,查找不到AppData文件夹,其实只要在目录上输入上就行了,因为真的找不到。AppData目录已经默认被隐藏了,要通过修改一下设置才能打开。
然后当我们看到Python36的时候,我想你就应该明白了,没错,这就是我们的python3.6的包
而里面的site-packages是用于存放我们pip导入的所有环境,有时候pip下载不下来,然后你发现你旁边的同事有这个环境,让他直接把这个环境的文件给你,你放到这个site-packages下,那你的python也就有这个环境了。
其实pip下载的就是这些文件
了解了包存放的位置,以后我们把同一种python版本的环境放到一个文件夹里,以后如果配置环境,直接去文件夹里复制到site-packages下就可以了。需要什么环境就复制什么环境,这样能够减轻在pycharm中导入python环境时的压力。
.pyc文件与.py文件
其实是一种编译与反编译
每个.pyc文件在文件的开头都会有对应的python版本号。他会规定只能由该版本的python能对这个文件进行运行。
而.pyc中的代码与py文件中的其实是一样的,所以如果是.pyc出的错,只需更改前面的版本号就可以了
首先cd到想要编译或者反编译的文档目录下
编译 python 为 .pyc 文件
python -m py_compile file.py
反编译 .pyc 文件:
pip install uncompyle2
命令行执行:uncompyle6 filename.pyc
虚拟环境的使用
上面讲到要使用到不同的python版本,而且其中的环境还不同,如果光通过修改python的环境变量路径就显得过于麻烦了,而虚拟环境就可以很好的解决这个问题。
首先奉上创建虚拟环境所需要的一些基础指令
创建以及设置指令
windows pip install virtualenvwrapper-win
windows 高级系统设置->环境变量->系统变量->添加 WORKON_HOME 你的目录
以后所有的虚拟环境通通安装在这个下面
mkvirtualenv --python==G:\software\Python\Python36\python.exe 虚拟环境名字
本地的python地址
基础的操作指令
workon 切换虚拟环境
deactivate 退出虚拟环境
rmvirtualenv 删除虚拟环境
lsvirtualenv 列出所有的虚拟环境
cdvirtualenv 进入虚拟环境所在的目录
当我们创建好虚拟环境后,找到我们的虚拟环境所在的文件夹,打开后你会发现,每个文件夹都跟安装python的里面的python目录下的文件一样。这样我们就可以根据我们的需要对每个虚拟环境进行量身定制了(比如定制site-packages)
在工作中,我们如果需要什么版本的python就去找对应的虚拟环境,启动该虚拟环境,这样我们就比修改环境变量要快并且灵活的多了。
以上为本人观点,如有错误,请告知,我会立刻修改。。
如果感觉有用的话,就关注一下呗