关于在vscode引入python中Crypto包的问题
文章目录
- 问题来源
- 引入包的问题
- 原因一
- 原因二
- 原因三
- 手动安装codeLLDB
问题来源
在学习过RSA算法之后想着自己用python实现一下子。因为可以自己下一个Crypto包,里面的一些函数啥的用起来很方便。但是捏,我遇到了非常多的问题(也不知道为啥,我每次安装学习一个新软件的时候,配环境我总是会遇到各种各样别人遇不到的问题),然后我就花了一下午搞都没搞好…
引入包的问题
这个是刚开始的问题,也是我花了一下午都没搞好的问题。网上对于这方面的解决方法少之又少,而且大多和我遇到的还不太一样,所以就在这边将部分人遇到的问题和我遇到的问题及其对应的解决方法做个总结。
先介绍一下问题:我写的py代码是
from Crypto.Util.number import long_to_bytes
就是从Crypto.Util.number
包里导入一个long_to_bytes
函数,但是系统报错了
Import “Crypto.Util.number” could not be resolved Pylance
意思是没有被Pylance包含(识别)
原因一
可能是因为在电脑中下载了多个版本的python,但是某个版本中并没有此依赖包,可以再终端中输入pip list(anaconda 通过conda list)进行查看是否有此包,然后更换为有此依赖包的python即可。
如何更换?Ctrl+Shift+P
打开搜索栏输入Python: Select Interpreter
选择python版本。我倒是没遇到这个问题,因为我就一个python 2.7…
原因二
原因一当中的依赖包是啥呢?或者说,我们导入的这个包到底应该是什么?可以先pip install crypto
试试,但大概率是会报错的。这时需要卸载pycrypto
,然后pip install pycryptodome
。如果觉得上述过程很烦或者不知道自己下载过什么包或者已经有什么包,先pip list
查看是否有上述三个包,如果有全部删掉,用pip uninstall xxx
,最后只用下pycryptodome即可。
其实,pycrypto、pycrytodome和crypto是一个东西
,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的;所以,直接pip install pycryptodome
即可。
最后还有一个坑,下完之后进入python安装路径。这边拿我的举例,进入C:\Python27\Lib\site-packages
找到crypto,如果首字母c是小写,改成大写! 这个坑我没有碰到,我装下来就是大写。
原因三
最后一个原因,也是我碰到的问题的根源。在上述工作都做完之后,为啥还是报错呢?是pylance插件没有识别出包的路径的原因
如何解决?Ctrl+Shift+P
打开搜索栏输入python.analysis.extraPaths
,添加你需要导入包的路径。这边就巨坑,我当时导入Crypto.Util.number
和gmpy2
这两个包,然后我分别添加了C:\Python27\Lib\site-packages\Crypto
和C:\Python27\Lib\site-packages\gmpy2
两个路径,照理说应该没问题了吧。但是是后面一个行了,但是前面一个死活不行。之后我又尝试了再进入下一层目录,下下一层目录,但是都不行…我也是大笨猪,就不知道往上一层目录走,这样不就都包含进来了吗…所以直接C:\Python27\Lib\site-packages
这样就可以了。但是就很迷惑啊,为啥前面那种方法就不行?????
就这破问题浪费我一下午。不过还是有收获的吧,以后要导入的包可以直接终端pip下载,然后导入路径,之后就可以快乐使用了。
对了,应该也是可以往setting.json文件里面这样添加的
手动安装codeLLDB
这是我在第一个问题没有解决准备摆烂但又不甘心的时候冒出来的第二个问题…不过这个问题的解决倒还算顺利。
它就莫名其妙跳出来这么个东西
Installing platform package from https://github.com/vadimcn/vscode-lldb/releases/download/v1.7.0/codelldb-x86_64-windows.vsix
好像是codeLLDB插件出了问题。如何解决?
先把这玩意卸载掉,然后再点需要重新载入,然后再安装。从上面这个网址https://github.com/vadimcn/vscode-lldb/releases/download/v1.7.0/codelldb-x86_64-windows.vsix,将codelldb-x86_64-windows.vsix
这个文件下载下来。然后拖入到codeLLDB插件的位置就可以了。这时右下角出现Reload Now弹框,点击Reload Now按钮,后面就安装完了。重启vscode完事儿。
关于在vscode引入python中Crypto包的问题相关推荐
- 对于python来说、一个模块就是一个文件-PYTHON中的包和模块
为了更加友好的对python代码进行组织管理,python中出现了包和模块的概念 类似生活中整理我们的物品一样,将代码按照不同的功能进行整理整合,可以很大程度的提升代码可读性和代码质量,方便在项目中进 ...
- python怎么安装本地的egg_怎么安装python中egg包
怎么安装python中egg包 发布时间:2020-07-08 17:11:05 来源:亿速云 阅读:175 作者:Leah 怎么安装python中egg包?很多新手对此不是很清楚,为了帮助大家解决这 ...
- python下载库报错_下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决...
下载python中Crypto库报错:ModuleNotFoundError: No module named 'Crypto'的解决 前言 最近在网上找了很多下载Crypto的方法,感觉作用都不算很 ...
- python xlrd安装_详解python中xlrd包的安装与处理Excel表格
一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...
- Python入门-Python中的包,impot,from,import
#Python中的包 #包(python package)是一个分层次的目录(directory)结构,它将一组功能相近的模块组织在一个目录下 #作用:1.代码规范,2.避免模块名称冲突 #包与目录的 ...
- 基于python中jieba包的中文分词中详细使用(一)
文章目录 基于python中jieba包的中文分词中详细使用(一) 01.前言 02.jieba的介绍 02.1 What 02.2特点 02.3安装与使用 02.4涉及到的算法 03.主要功能 03 ...
- 浅析Python中signal包的使用
原文链接:https://www.jb51.net/article/74844.htm 这篇文章主要介绍了Python中signal包的使用,主要在Linux系统下对进程信号进行相关操作,需要的朋友可 ...
- 使用python中py2neo包连接neo4j(安装,连接,成功解决)
使用python中py2neo包连接neo4j neo4j下载 JDK下载 neo4j官网下载 检查安装是否成功 py2neo安装 命令行安装 测试安装是否成功 最近在研究有关知识图谱的任务,选择用图 ...
- 如何用Python中Tushare包轻松完成股票筛选(详细流程操作)
如何用Python中Tushare包轻松完成股票筛选(详细流程操作) 本文包括安装以及调用Tushare包的详细流程操作 一.Tushare简介 Tushare是Python中一个十分好用的免费调用股 ...
最新文章
- sql 多行转成一行
- DARPA宣布未来五年将投资20亿美元开发下一波人工智能技术
- 【博客美化】评论带头像,且支持旋转
- 从抵触到力推,.Net Core的成功让微软正视开源
- 连接网络后浏览器却上不了网
- 【qduoj - 1121】小明的贪心题(Dijkstra最短路 + 最短路条数)
- unittest-常见问题解决方案记录
- charles请求入参中有乱码
- jvm 加载class文件过程
- 将张量用图像表示出来,取张量的某几维度然后展示为图像
- 工作中常用到的ES6语法
- android单例模式代码,设计模式(一):Android 源码中的单例模式
- hibernate教程笔记7
- php 导出vcard,将Android的contacts2.db导出成vcard联系人的方法
- matlab程序及C语言实现一维多元离散信源熵
- 手机12306买卧铺下铺技巧_手机12306怎么买下铺
- 免费教程《Excel VBA:办公自动化》
- 第二十二篇玩转【斗鱼直播APP】系列之弹出房间界面
- HashSet底层实现原理
- Tessent scan ATPG(7) 设计规则检查 (DRC)
热门文章
- win10下自带输入法变为繁体字的原因及解决方法
- 在资源管理器中隐藏指定分区
- oracle 临时表空间语句,oracle的临时表空间
- [开发工具] STM32算法的翅膀之MATLAB
- java 设置超时_java线程超时设置方法
- 安全远程办公的十大技巧
- 使用printf语句输出名言:“贵有恒,何必三更起五更睡:最无益,只怕一日曝十日寒。“
- 如何在CAD中进行批量展点(平面和三维)
- 上海计算机5年制大专学校,上海五年一贯制大专学校有哪些
- centos 日志审计_生产环境日志审计