• python个人bug修炼手册


    进入虚拟环境的方法(如果之前已经创建好了):
    在命令提示符窗口输入

    conda activate pytorch
    
    • 1

    这里pytorch是我创建的那个虚拟环境的名字。

    问题一:python: can’t open file ‘argparse_learning_1.py’: [Errno 2] No such file or directory

    python: can't open file 'argparse_learning_1.py': [Errno 2] No such file or directory
    
    • 1

    附图:
    在这里插入图片描述

    **可能的原因:**不在命令行显示的路径下
    **解决方法:**转到该路径下
    在这里插入图片描述

    问题二:ModuleNotFoundError: No module named ‘torch’

    ModuleNotFoundError: No module named 'torch'
    
    • 1

    可能的原因:
    1.你没有下载并搭建pytorch
    2.你创建了一个虚拟环境,然后把pytorch安装搭建在虚拟环境里,又没有将pytorch加载到pycharm。如果你搭建了,但是又搭建错了(错了,又没有完全错),就会导致问题三、问题四。

    **解决方法:**没下载安装pytorch的就下载安装,安装好出现这个问题的去pycharm里进行相应的配置。(要注意pytorch下载安装到了哪,比如我这是在"E:\ANACONDA\envs\pytorch",那配置时就用"E:\ANACONDA\envs\pytorch\python.exe",而不是其他地方的python.exe)
    正确的做法:
    第一步,点开上面的File,再点击settings
    在这里插入图片描述
    第二步,点击project:project里面的project Interpreter,再点击右边的小齿轮
    在这里插入图片描述
    第三步,点击add local
    在这里插入图片描述
    第四步,点击第二行的canda environment
    在这里插入图片描述
    第五步,点击下面的圆圈
    在这里插入图片描述
    第六步,点击右边的省略号
    在这里插入图片描述
    第七步,选择你安装的pytorch路径下的python.exe
    在这里插入图片描述
    第八步,点击ok
    在这里插入图片描述
    第九步,点击ok一路退出,在路过下面这个界面时,能看到划红线部分的路径是你刚刚选的(这里不用做其他的操作,只是告诉你有这么一回事),继续点击ok
    在这里插入图片描述
    最后,试一下下面的代码

    import torch
    x=torch.randn(4,4)
    print (x)
    torch.cuda.is_available()
    
    • 1
    • 2
    • 3
    • 4

    输出没问题,大概长下面这样,就说明弄好了。

    E:\ANACONDA\envs\pytorch\python.exe D:/python_project_learning/project/demo_1.py
    tensor([[-1.3303, -0.0664,  0.5482, -0.8780],
        [-0.5891,  0.0754, -0.9704,  0.7897],
        [ 0.6138,  0.5188,  1.2771, -0.5913],
        [ 0.7358, -1.0720, -0.2382,  0.7549]])
    
    Process finished with exit code 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    错误的做法案例:
    只改了这里,即便将其改为pytorch下的python.exe也没用,会导致报错问题三、问题四。
    在这里插入图片描述

    问题三:OSError: [WinError 126] 找不到指定的模块。 Error loading “E:\ANACONDA\envs\pytorch\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll” or one of its dependencies.

    OSError: [WinError 126] 找不到指定的模块。 Error loading "E:\ANACONDA\envs\pytorch\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
    
    • 1

    可能的原因:
    1.在该路径下找不到该dll文件,可能是未安装cudatoolkit。
    2.没有在pycharm里配置pytorch环境,或配置错误。
    解决方法:
    方法一:
    把缺少的cudatoolkit和其他包重新安装,百度一下该dll文件在哪里可以下载,并将其下载好后放进该路径下。
    或在命令提示符窗口输入命令

    conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch
    
    • 1

    如果用本地镜像源,就删除后面的 ‘-c pytorch’
    以下为操作时大概会出现的样子
    在这里插入图片描述
    在这里插入图片描述
    方法二:
    在pycharm里配置pytorch环境。

    问题四:OSError: [WinError 126] 找不到指定的模块。 Error loading “E:\ANACONDA\envs\pytorch\lib\site-packages\torch\lib\caffe2_detectron_ops.dll” or one of its dependencies.

    OSError: [WinError 126] 找不到指定的模块。 Error loading "E:\ANACONDA\envs\pytorch\lib\site-packages\torch\lib\caffe2_detectron_ops.dll" or one of its dependencies.
    
    • 1

    可能的原因:
    1.该包没安装。
    2.没有在pycharm里配置pytorch环境,或配置错误。
    解决方法:
    方法一:
    安装一个包

    pip install intel-openmp
    
    • 1

    但事实证明这不行,即便是网上大佬的操作,在我这还是出问题了,我安装不了,报错为问题五、问题六。随后问题五、问题六解决,但这个问题还在。(对一些人是有用的,但对我这里确实有些遗憾)
    方法二:
    在pycharm里配置pytorch环境。
    于是开始考虑配置问题,由于我是成功之后重新模拟的步骤回顾,所以截图上没有显示报错。
    第一步,点开上面的File,再点击settings
    在这里插入图片描述
    第二步,点击project:project里面的project Interpreter,再点击右边的小齿轮
    在这里插入图片描述
    第三步,点击add local
    在这里插入图片描述
    第四步,点击第二行的canda environment
    在这里插入图片描述
    第五步,点击下面的圆圈
    在这里插入图片描述
    第六步,点击右边的省略号
    在这里插入图片描述
    第七步,选择你安装的pytorch路径下的python.exe
    在这里插入图片描述
    第八步,点击ok
    在这里插入图片描述
    第九步,点击ok一路退出,在路过下面这个界面时,能看到划红线部分的路径是你刚刚选的,而红线前面的名称是新建的(这里不用做其他的操作,只是告诉你有这么一回事),继续点击ok
    在这里插入图片描述
    于是,试一下下面的代码

    import torch
    x=torch.randn(4,4)
    print (x)
    torch.cuda.is_available()
    
    • 1
    • 2
    • 3
    • 4

    输出没问题,大概长下面这样,就说明弄好了。

    E:\ANACONDA\envs\pytorch\python.exe D:/python_project_learning/project/demo_1.py
    tensor([[-1.3303, -0.0664,  0.5482, -0.8780],
        [-0.5891,  0.0754, -0.9704,  0.7897],
        [ 0.6138,  0.5188,  1.2771, -0.5913],
        [ 0.7358, -1.0720, -0.2382,  0.7549]])
    
    Process finished with exit code 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    问题五: raise ReadTimeoutError(self._pool, None, “Read timed out.”)

     raise ReadTimeoutError(self._pool, None, "Read timed out.")
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    解决方法:
    1.更换安装源

    pip install -i https://pypi.douban.com/simple <需要安装的包>
    例如:
    pip install -i https://pypi.douban.com/simple requests
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    问题五解决,但问题四没有因此解决。

    2.下载离线包,下载好后放到pip.exe所在的Scripts/文件目录下,这个时候再运行

    问题六:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ReadTimeoutError(“HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out. (read timeout=15)”,)’: /packages/d8/e1/da6daa7676e779edc8de06cdbde20b7a9d6dfabd91ad35d9df1e3e28e44c/intel_openmp-2022.1.0-py2.py3-none-win_amd64.whl

    使用pip安装包时会出现无法下载的问题,或者pip直接无反应

    WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)",)': /packages/d8/e1/da6daa7676e779edc8de06cdbde20b7a9d6dfabd91ad35d9df1e3e28e44c/intel_openmp-2022.1.0-py2.py3-none-win_amd64.whl
    
    • 1

    在这里插入图片描述
    可能的原因:
    pip时各种关卡限制了它的网速,导致连接超时
    解决方法:
    在 pip命令后自己设定收集源(-i +url),
    例如使用豆瓣源

    pip install requests -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    
    • 1

    或者

    pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1

    附一些国内的pip源:

    清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
    
    中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
    
    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
    
    阿里云 http://mirrors.aliyun.com/pypi/simple/
    
    豆瓣(douban) http://pypi.douban.com/simple/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    问题六解决,但问题四没有因此解决。

    问题七:ModuleNotFoundError: No module named ‘matplotlib’

    报错如下

    ModuleNotFoundError: No module named 'matplotlib'
    
    • 1

    且出现下图的情况
    在这里插入图片描述
    命令提示符窗口输入“pip install matplotlib”,显示如下
    在这里插入图片描述
    在pycharm配置里如下
    在这里插入图片描述
    可能的原因:
    造成这种情况可能是pycharm的配置环境为虚拟空间,而该虚拟空间里没安装matplotlib
    解决方法:
    在命令提示符窗口进入当初创建的虚拟环境,然后进行pip
    在这里插入图片描述
    其中,下面这行命令的用意是进入我当初创建的虚拟环境pytorch,pytorch是我创建时命名的环境名。

    conda activate pytorch
    
    • 1

    下面这行的用意是下载matplotlib

    pip install matplotlib
    
    • 1

    问题八: verbose = matplotlib.verbose AttributeError: module ‘matplotlib’ has no attribute ‘verbose’

    E:\ANACONDA\envs\pytorch\python.exe D:/python_project_learning/project/demo_2.py
    Traceback (most recent call last):
      File "D:/python_project_learning/project/demo_2.py", line 2, in 
    from matplotlib import pyplot as plt
      File "E:\ANACONDA\envs\pytorch\lib\site-packages\matplotlib\pyplot.py", line 2336, in 
    switch_backend(rcParams["backend"])
      File "E:\ANACONDA\envs\pytorch\lib\site-packages\matplotlib\pyplot.py", line 276, in switch_backend
    class backend_mod(matplotlib.backend_bases._Backend):
      File "E:\ANACONDA\envs\pytorch\lib\site-packages\matplotlib\pyplot.py", line 277, in backend_mod
    locals().update(vars(importlib.import_module(backend_name)))
      File "E:\ANACONDA\envs\pytorch\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
      File "E:\pycharm2017\PyCharm 2017.3\helpers\pycharm_matplotlib_backend\backend_interagg.py", line 17, in 
    verbose = matplotlib.verbose
    AttributeError: module 'matplotlib' has no attribute 'verbose'
    
    Process finished with exit code 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    可能的原因:
    具体不好说,可能是因为python3里verbose中的v是大写的V。
    解决方法:
    方法一:
    点击报错最后一行的那个文件,将里面的verbose = matplotlib.verbose改成verbose = matplotlib.Verbose
    在这里插入图片描述
    (有些人改完就好了,也有些改了还是不行)
    方法二:
    将File——》settings——》Tools——》Python Scientific里的√去掉
    在这里插入图片描述
    附上一段用来测试弄好了没得代码:

    import numpy as np
    from matplotlib import pyplot as plt
    
    x = np.arange(1, 11)
    y = 2 * x + 5
    plt.title("Matplotlib demo")
    plt.xlabel("x axis caption")
    plt.ylabel("y axis caption")
    plt.plot(x, y)
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    完成后输出如下图:
    在这里插入图片描述

    题外话:

    直到最后完成了,我还是没能在pycharm的配置里找到matplotlib,我也不知道这是什么原因
    在这里插入图片描述
    不过不管是什么原因,我大概对这个有了一些浅薄的认知:
    在这个页面进行操作,搜索你要安装的库,比如你要安装numpy,直接搜索numpy,再点击左下角的install package即可下载包,而下载的安装包大概是在你当前项目配置的环境对应的导入包文件夹里。
    相应的,竟然我们有些人这个页面是白的,没有办法进行操作,但我们只要达成一样的结果就行——把我们要安装的包放进导入包文件夹site-packages里。
    也就是说这里,想要给pycharm配置相应的安装包,其实是有两种不同的方式的。
    其一:
    settings—project interpreter—+号键—搜索numpy并安装
    其二:

    pip install --target=E:\ANACONDA\envs\pytorch\Lib\site-packages numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1

    E:\ANACONDA\envs\pytorch\Lib\site-packages是该环境(我的这个虚拟环境名为pytorch)下site-packages文件夹的位置,该文件夹下面就是存放我们各种安装包的地方
    -i https://pypi.tuna.tsinghua.edu.cn/simple是指定了下载来源,不加这一段也可以,就是容易引发上面的问题五,这一段是可以改的,下载来源有很多,自己挑着改就行
    numpy 就是我这里要弄的安装包,也就是想给pycharm配置上的东西。
    我试了一下,第二种方法确实是可以的,虽然我第一种方法的那个页面依旧nothing show。
    附图两张:
    在这里插入图片描述
    在这里插入图片描述
    第一张图的

    upgrade to force replacement
    
    • 1

    意思是upgrade to force replacement前面显示的那个路径指定的文件有新版本了,如果你运行没问题的话,可以不用管,有问题的话,就进行相应更新

    问题九:Could not find a version that satisfies the requirement opencv-python>=4.1.1 (from versions: none) No matching distribution found for opencv-python>=4.1.1

    报错如下

    ERROR: Could not find a version that satisfies the requirement opencv-python>=4.1.1 (from versions: none)
    ERROR: No matching distribution found for opencv-python>=4.1.1
    
    • 1
    • 2

    在这里插入图片描述
    可能的原因:
    可能是python国内网络不稳定,然后直接导致报错(应该不是下载的安装包之间存在冲突什么的,不需要把大量的时间花在配置各种各样的环境。)

    解决方法:
    原本的

    python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1

    改成

    python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host tuna.tsinghua.edu.cn
    
    • 1

    其实最好应该是改成这样,但我没试过,改成第二条那样就能用了,干脆就没继续搞

    python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
    
    • 1

    附图一张:
    在这里插入图片描述

    问题十:WARNING: Ignore distutils configs in setup.cfg due to encoding errors.
    报错如下

    WARNING: Ignore distutils configs in setup.cfg due to encoding errors.
    
    • 1

    在这里插入图片描述
    可能的原因:
    未设置全为UTF-8
    解决方法:
    设置全为UTF-8
    第一步,在开始搜索框输入“更改国家或地区”,点击“回车”
    第二步,点击管理语言设置
    第三步,点击更改系统区域设置
    第四步,在“beta版:使用Unicode UTF-8 提供全球语言支持”的选项打钩
    第五步,点击“现在重新启动”按钮即可把系统默认编码设为UTF-8

  • 相关阅读:
    第5章:指令级并行--硬件方法
    运行vue create vue-demo报错:无法加载文件,因为在此系统上禁止运行脚本
    DevExpress WinForms TreeMap组件,用嵌套矩形可视化复杂分层数据
    英语复习-10.22
    Node.js项目(一)
    分布式搜索引擎Elasticsearch
    从网页地址栏输入网址到页面渲染的整体流程
    成都链安CEO杨霞:打通区块链生态安全信息屏障,守护区块链生态安全
    【区块链技术与应用】(七)
    10.MySQL 约束
  • 原文地址:https://blog.csdn.net/dusk_and_night/article/details/125857349