Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题

Posted 新来的大狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题相关的知识,希望对你有一定的参考价值。

参考文章

python项目迁移出现虚拟环境的sdk不可用cannot set up a python sdk

1 运行环境

pycharm 2018.2.3

2 相关描述与背景介绍

2.1 需求描述

借助Pycharm创建的python项目,进行 项目迁移,由机器A到机器B运行

该Python项目先前运行时已经自动配置了虚拟环境

2.2 问题描述

打开项目后,在pycharm中为项目配置Interpreter解释器路径时,发生

对项目已有虚拟环境,导入其自带的解释器时,提示python SDK不合法的问题

示例项目为PdfProcess, 该项目 虚拟环境自生成的解释器 的 路径

D:\\pycharm_ex\\PdfProcess\\venv\\Scripts\\python.exe

2.3 代码错误表现

此时项目代码需要的依赖包无法加载 - 报红

未找到的引用,pdfminer包

2.4 项目虚拟环境检查

目标项目下 确实存在venv文件夹,且有python.exe解释器

2.5 迁移时已发生的相关变动

① 整个项目的路径发生变动,整体机器环境发生变动(由机器A -> 机器B)

② python3.7版本包 安装的路径发生变动 (D:\\Python3.7 -> D:\\Python37)

3 原因及解决方法

3.1 原因

项目迁移时,虚拟环境的 配置文件关于Python 版本的安装路径,使用绝对路径被写死,需要手动修改

查看该绝对路径(venv文件夹下的pyvenv.cfg配置文件)

pyvenv.cfg 文件内容

home = D:\\Python3.7
include-system-site-packages = false
version = 3.7.7

3.2 解决办法

由于项目迁移,且 python 版本的安装路径发生变化

原先的Python 版本安装路径:D:\\Python3.7 (和项目配置文件所需路径保持一致)

目标机器的Python 版本安装路径:D:\\Python37 (和项目虚拟环境配置文件中所需的安装路径不一致)

修改 pyvenv.cfg 配置文件内容 ,手动重新指定Python 版本的绝对路径,和目标机器的Python 版本安装路径 保持一致

home = D:\\Python37
include-system-site-packages = false
version = 3.7.7

目标机器Python版本安装路径

D:\\Python37

4 最终效果

重新启动pycharm

重新为项目指定解释器路径(但仍使用该项目虚拟环境中自带的解释器,为了复用当前项目已经下载好的依赖包) - 此步骤可忽略

加载的依赖不再报红,可以正常使用程序 (对比步骤2.3)

以上是关于Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题的主要内容,如果未能解决你的问题,请参考以下文章

更换电脑后,python3中无法导入appium:“Cannot set up a python SDK”

Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题

Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题

Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题

Cannot set up a python SDK at Python 2.7 The SDK seems invalid - Python项目迁移时虚拟环境无法成功导入,致依赖包无法识别的问题(代

openstack kvm cannot set up guest memory 'pc.ram': Cannot allocate memory