前言
非计算机专业本科学生,由于研究生原因,本科毕设题目 为医学图像处理
事先也并没有接触过Python的相关
自己草草装了Python跟PythonCharm之后才发现事情没呢么简单
并且在装PyCUDA的时候一直报错
所以打算重新规范的装一下这些东西
也算尝试看看能否解决PyCUDA不能安装的问题
一、最基础的安装
1. Anaconda
关于Anaconda,简单来说,Anaconda是Python的包管理器和环境管理器。
(1)Anaconda附带了一大批常用数据科学包,它附带了conda、Python和 150 多个科学包及其依赖项。因此你可以用Anaconda立即开始处理数据。(2)管理包。Anaconda 是在
conda(一个包管理器和环境管理器)上发展出来的。在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。(3)管理环境。为什么需要管理环境呢?比如你在A项目中用到了Python2,而新的项目要求使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候conda就可以帮助你为不同的项目建立不同的运行环境。还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个pandas版本。你要做的应该是在项目对应的环境中创建对应的pandas版本。这时候conda就可以帮你做到。
因为已经有很多人提供了安装教程,于是我就在网上找了一个,对照安装,链接如下:
CSDN Anaconda安装教程
按照步骤进行,下载,安装,勾选,配置环境变量,测试。
自己不一样的
由于第一次安装的时候,是随便安装了Python后在师姐的建议下,才接触到Anaconda,安装之后才知道Anaconda本身包含Python.
所以在安装完Anaconda之后就不需要安装Python,所以上文中关于环境的配置我跟他不一样。参照这篇文章:Anaconda环境配置
我配置完如下图:
最后一定记得测试是否安装成功。
WIN+R 输入CMD
在CMD命令行中输入 Python
如图
关闭后重新打开CMD
输入 conda
如图
则说明Anaconda已经安装成功,环境变量也已经配置成功。
关于Anaconda还有一个就是可以的话最后配置一下清华的镜像,这样速度会快一点。
关于如何配置镜像 跟 常用 Anaconda 指令,我参看了这篇文章 Anaconda 使用教程
2.安装PyCharm
在搜关于安装Anaconda之后是否需要安装Python的问题时
发现一堆人都是安装完Anaconda之后直接安装PyCharm 就进行编程了
所以就安装一下Pycharm好了
PyCharm 是目前一款主流的 比较好用的 Python 编辑器
具体教程参看PyCharm安装教程
安装完这两个对于一般Python编译 就足够了。
二、关于PyCUDA的安装
具体参照这篇文章快速安装CUDA
结合自己安装流程,概括一下:
1 安装visual studio社区版 来安装 使用C++的桌面开发
2 安装CUDA
在安装CUDA的时候 我出现了很多问题
于是我借鉴了很多网上的方法。
基本思路:①卸载原来英伟达驱动②多下载几个适合自己的版本
3 安装PyCUDA 及 常见问题解决
由于之前直接Pip失败
所以我这次借鉴了大多数人稳健的方法
①确保 在CMD 里 输入 nvcc -V 正常
②在官方链接下载适合自己的WHL包
③打开Anaconda Prompt
activate XXX #你想要安装的环境
cd XXX #.whl文件目录
pip install XXX.whl
然后如果安装成功,就可以进行测试。但是我在前几次安装的时候总会出现各种问题,其实根本上来看 就是 环境以及安装的问题,在下边总结下:
问题:
①nvcc not in path
解决方法:①CUDA未安装成功②需要将nvcc的路径添加进环境变量
②:Cannot find compiler ‘cl.exe’ in PATH
解决方法:找到cl.exe路径,添加进环境变量。如我的: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
最终参照测试代码:
import pycuda.driver as drv
import pycuda.tools,pycuda.autoinit,numpy
import numpy.linalg as la
from pycuda.compiler import SourceModule
mod = SourceModule("""
__global__ void multiply_them(float *dest, float *a, float *b)
{
const int i = threadIdx.x;
dest[i] = a[i] * b[i];
}
""")
multiply_them = mod.get_function("multiply_them")
a = numpy.random.randn(400).astype(numpy.float32)
b = numpy.random.randn(400).astype(numpy.float32)
dest = numpy.zeros_like(a)
multiply_them(drv.Out(dest), drv.In(a), drv.In(b),block=(400,1,1))
print(dest-a*b)
测试结果如图:
结果均为0,测试成功,在PyCharm中也能看到安装成功。
总结
如果不能插入式安装成功,就推到一切,重新来!
环境变量。
软件版本。
这些都是需要注意的问题。