经过长达一年的反复安装和卸载开发环境, 得出一些结论和比较.供大家参考
首先是conda和venv+pip的比较.
我最开始用的是conda, 但是永久了之后发现conda并不是那么方便. 尤其是在国内环境下.
conda的缺点,
1. 每次执行安装库, 都需要一段比较长的开始收集资料的时间, 这一点上pip就快很多.
2. 下载速度有限
3. 下载的包不知道哪里下载.
相比之下venv + pip的优点
1.venv的虚拟环境是可以放在项目目录下面的. 比较方便迁移和同事间共享, 项目之间绿色无污染, 且vscode也支持.venv的虚拟环境.
2.venv的安装比较方便,python自带的. 无需下载开发环境.
3.pip比起conda更方便,更快, 遇到大的whl包, 可以手动复制whl的地址, 用迅雷下载之后用pip执行本地安装. 本地安装这一点conda也可以做到, 但是conda并不会提示whl包的地址, 所以也就无法用迅雷加速下载.
4.pip的 whl包可以下载到本地硬盘, 不用每次都到服务器上远程安装. 速度慢还容易断掉.
所以我推荐, 工作中还是用venv + pip的方式管理虚拟环境更方便一些.
下面说一下使用方式
1. 首先是安装python
需要用到的各个版本的python 都装一下, 分别安装到不同的目录下,
例如我的就安装了3.6,3.7,3.8 分别放在下面的目录中
D:\python3.6\python.exe
D:\python3.7\python.exe
D:\python3.8\python.exe
复制并改名, 防止python命令冲突
cp D:\python3.6\python.exe D:\python3.6\python36.exe
cp D:\python3.7\python.exe D:\python3.6\python37.exe
cp D:\python3.8\python.exe D:\python3.6\python38.exe
注意,需要保留老的python.exe文件
2. 然后就是要修改环境变量,
把上面的几个都加到path变量中. 这一步我就不写了.大家都会的, 不会的可以自行百度.类似java 修改环境变量.
3.创建虚拟环境
cd ../你的项目路径
python37 -m venv --without-pip myenv
// 上面的myenv可以自己修改,是存放虚拟环境的目录. 我一般写env
// --without-pip 的意思是新的虚拟环境没有 pip 为啥要去掉? 因为有很多场合下pip会冲突. 所以这里为了减少各种可能, 建议直接不装pip, 后面再单独装.
正常情况下, 你的项目目录下应该会有一个新的文件夹名字叫 myenv 以后你用pip命令安装的包都会在这个目录下面.
4.切换到虚拟环境
linux 下的切换到虚拟环境命令是
$ source myenv/bin/activate
myenv 是自己定义的虚拟环境名字.
windows 下的切换到虚拟环境命令是
./myenv/Scripts/activate.bat
4.安装pip
(myenv)$ 代表虚拟环境下执行.
(myenv)$ wget https://bootstrap.pypa.io/get-pip.py
(myenv)$ python get-pip.py
会一次性把需要用到的安装环境更新到最新, 包括setuptools,和wheel. 这样基本上后面安装包的时候不会报乱七八糟的错误.
Installing collected packages: wheel, setuptools, pip
Successfully installed pip-21.3.1 setuptools-58.3.0 wheel-0.37.0
顺带讲一下如何安装 pytorch
首先是到pytorch网站 找到需要使用的安装命令.
https://pytorch.org/get-started/previous-versions/
例如我需要安装1.7.0的就复制下面的命令.
pip install torch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
注意这里的 -f https://download.pytorch.org/whl/torch_stable.html 参数是, 强制去pytorch官网进行安装, 这个参数一定要带上, 因为国内目前pytorch的包都有点问题, 安装不上. 报错如下.
ERROR: torch has an invalid wheel, .dist-info directory not found
只有带上参数,强制到官方源安装才行, 下载速度有点慢, 这个时候只要弹出了下载进度就ctrl+c给终止掉, 把url复制出来, 用迅雷下载, 速度贼快.
例如我的经过管方的页面查找计算下载地址为:
https://download.pytorch.org/whl/cu110/torch-1.7.0%2Bcu110-cp37-cp37m-win_amd64.whl
把它复制到迅雷里面下载就快多了, 2GB的whl包, 有点恐怖…
然后用命令单独安装 torch,
pip install f:\whl\torch-1.7.0+cu110-cp37-cp37m-win_amd64.whl
后面再安装torchvision就快的多了.
其它的包也可以用类似的方法装.
如果需要在arm开发板上安装pytorch 则需要看另外一篇文章,
https://blog.csdn.net/phker/article/details/118190816
有做好的安装包, 不需要再编译了.