vscode和pycharm混用中常见问题集合

文章讲述了在从PyCharm转向VSCode过程中遇到的两个主要问题:1)在VSCode中import项目内文件出现nomodulefound错误,解决方案是通过调整sys.path来指定正确根目录。2)torch模块与CUDA版本不兼容且路径问题,通过修改sys.path并移除错误路径解决了问题。此外,还提到了VSCode与PyCharm在包管理上的差异,以及如何处理不同环境下的包版本冲突。
部署运行你感兴趣的模型镜像


之前我一直用的是pycharm,但是发现pycharm的远程连接实在是很垃圾,转用vscode又存在很多问题啊,明明能在pycharm上运行的代码却在vscode上运行不了。
这篇经验主要是用来记录一下自己用vscode时遇到的一些问题

import本项目的文件却no mudle named问题

明明import的是自己的.py文件,却显示no mudle,问题在于运行当前文件时,默认的根目录为这个文件的父文件夹。
例如
test
/- - -a
/- - - - -b
/- - - - -c
/- - -d
/- - - - -e
当我运行e的时候,根目录是d
那么我如果e中import b 或者import a.b都是不行的
只有在我把根目录改到test的时候,才行
这个时候应该在import b之前加上

import sys,os
sys.path.append(os.path.abspath("/xxx/xxx/test"))
#(xxxx看你自己的目录)

torch问题

在pycharm中明明可以运行的文件,在vscode中却显示
The NVIDIA driver on your system is too old (found version 10020). Please update your GPU driver by downloading
意思是我的torch和我的cuda不匹配,但问题是之前在pycharm运行的好好的,自己下载的也的确是匹配的pytorch

在尝试下面这段代码的时候

import torch
print(torch.cuda.is_available())

得到的答案是false

这说明我下载的不是gpu版本的torch
可是我conda list的时候,的确显示的是我的虚拟环境以及正确的torch版本

![在这里插入图片描述](https://img-blog.csdnimg.cn/accf1ae69dce4fd4b95c35047be9dd5e.png

在这里插入图片描述决定看一下torch的路径

import torch
print(torch.__path__)

发现了问题所在
在这里插入图片描述显示的路径竟然是在.local/lib/python3.8/site-packages下的
如果用的是虚拟环境下的pytorch
应该是’/anaconda3/envs/虚拟环境名称/lib/python3.8/site-packages/torch’下的torch

根据前面的方法,我应该

import sys,os
sys.path.append(os.path.abspath("/xxxx/xxxxx/anaconda3/envs/xxxxx/lib/python3.8/site-packages"))
import torch

但是再次输出path还是显示的是之前的torch地址
经过print(sys.path)发现
.local那个路径在sys.path中
所以

import sys,os
sys.path.append(os.path.abspath("/xxxx/xxxxx/anaconda3/envs/xxxxx/lib/python3.8/site-packages"))
sys.path.remove("/xxxx/xxxxx/.local/lib/python3.8/site-packages")
import torch

这样之后import的torch就是正确的了

再次

print(torch.cuda.is_available())

得到的结果就算True了,地址也对了
在这里插入图片描述

连同一个环境pycharm中有的包vscode却没有

连接同一个虚拟环境,pycharm中可以看到是有transformers的
在这里插入图片描述但是在 vscode中显示
在这里插入图片描述

ModuleNotFoundError: No module named ‘transformers’
用conda list查了之后发现
在这里插入图片描述
还真的是没有,不仅这个没有,很多包都没有,甚至连pip都不是同一个版本

决定打开xshell看一下,和vscode中显示一致
在这里插入图片描述
所以得重新下载一遍
重新 pip install transformers==4.27.1之后,却提示已经存在

Requirement already satisfied: transformers==4.27.1 in /xxxx/xxxxx/.local/lib/python3.8/site-packages (4.27.1)

那么问题就应该是,下载的各种包,可能有的在.local环境下,有的在env环境下。
pycharm的范围更广一些,把这些都囊括了进来,并且囊括了进来之后对于重复的包可以自己选择版本使用
而vscode不能选择包的版本,只能去掉一些版本不符合的路径,去掉路径之后就少了很多包。所以我们应该设置一下pip的默认下载地址
输入 python -m site
发现默认地址确实有问题
在这里插入图片描述需要先把错误路径中的包卸载,再按照这个教程换地址
https://blog.youkuaiyun.com/tsq292978891/article/details/104655113

但是这样实在是太麻烦了,我选择
把.local中不符合的torch删掉,然后remove地址那一条去掉
先暂时用着 剩下的之后再说hhhhh

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值