pycharm无法导入本地模块的解决方式


Posted in Python onFebruary 12, 2020

最近学习python的django,需要导入本地的view模块,参考一些别人导入包的方法

import sys
sys.path.append('C:\\Users\\hhua\\Desktop')#括号中的内容为A所在的目录
importA.Demo1#不能加.py否则会报错(错误为没有这个文件A.Demo1.py)

但是不论用相对路径导入还是绝对路径导入,运行都会出错,但是我又用命令行试了一遍,发现命令行中可以,而且打印出包路径(print(xxx.__file__)没有重名的包,而且路径也都对,所以楼主认为是pycharm出了问题,后来网上搜索发现是因为pycharm中搜索包时都是从根目录查找,所以有时文件多了就会混乱,需要把当前文件夹指定为sorce目录即可。具体操作如下:(图片源于https://stackoverflow.com/questions/21236824/unresolved-reference-issue-in-pycharm)

pycharm无法导入本地模块的解决方式

下面有几种其它的方法,个人觉得最后一种最好用

import sys
sys.path

系统环境是一个list,可以将自己需要的库添加进入,例如mysql库,hive库等等。有三种方式添加,均验证通过:

1.临时添加,在一个shell窗口中

import sys
sys.path
sys.path.append(path)

但退出该shell窗口,即失效

2.使用pth文件永久添加

使用pth文件,在 site-packages 文件中创建.pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,pth文件也可以使用注释:

# .pth file for the my project(这行是注释)
E:\DjangoWord
E:\DjangoWord\mysite
E:\DjangoWord\mysite\polls

这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享

3.使用PYTHONPATH环境变量(最好用)

使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH变量还不存在,可以创建它!

pycharm无法导入本地模块的解决方式

路径会自动加入到sys.path中,而且可以在不同的python版本中共享,应该是一样较为方便的方法

以上这篇pycharm无法导入本地模块的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中常用的各种数据库操作模块和连接实例
May 29 Python
Python 列表list使用介绍
Nov 30 Python
python判断给定的字符串是否是有效日期的方法
May 13 Python
Python中的下划线详解
Jun 24 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
python实现内存监控系统
Mar 07 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
Django实现发送邮件功能
Jul 18 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
Python实现微信好友的数据分析
Dec 16 Python
Django集成celery发送异步邮件实例
Dec 17 Python
Django前后端分离csrf token获取方式
Dec 25 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 #Python
解决pycharm同一目录下无法import其他文件
Feb 12 #Python
适合Python初学者的一些编程技巧
Feb 12 #Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 #Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 #Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 #Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 #Python
You might like
PHP file_exists问题杂谈
2012/05/07 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
浅析JSONP技术原理及实现
2016/06/08 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
详解Django框架中用context来解析模板的方法
2015/07/20 Python
Python简单实现enum功能的方法
2016/04/25 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
总结python中pass的作用
2019/02/27 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
用python发送微信消息
2020/12/21 Python
数据库什么时候应该被重组
2012/11/02 面试题
历史系自荐信范文
2013/12/24 职场文书
见习期自我鉴定
2014/01/31 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
浅析Django接口版本控制
2021/06/26 Python