博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python:pycharm:突然之间引用同一个目录下的其他模块不出现代码提示的问题解决方法...
阅读量:6612 次
发布时间:2019-06-24

本文共 851 字,大约阅读时间需要 2 分钟。

a8dba2e16a9fd7a1445f51e122ee1147951bc1b1

同时,在主调模块中输入import进来的模块的名字,不会出现代码提示.......

居然没有代码提示19.gif

这是怎么个鬼情况呢???

改一改:

26487bbe8a61613e200b3f3555c5a8c6a340b6d1

路径写全,问题解决了.

然而这仅仅是一种解决方案.

另外一种解决方案是这样的:

925a504c3ed874973956c563d55c687a3ced8c46

把这个包含文件的目录设置成Sources Root

pycharm就会索引里面的*.py文件了.....

然而有一个问题:

假如说我的工程里面有两个文件夹,都设置成了sources root,会发生什么情况呢??

d07676e63e5a80d33bb7e150d911d1e72f03b13b

我们可以看到,这个test.py把database文件夹下的模块classuser给引入进来了28.gif

---------------------------分割线------------------------------------------

那么,如果我们的程序脱离了pycharm之后会发生什么情况呢?

我们去这个项目的文件夹开一个终端命令行窗口,然后python一下test.py

5d4cdf0b1b893727c3312388ac9145ba3c8a80b2

果然,上下文依赖出现问题了.

解决的方法是: 把你的主程序文件放在一个文件夹里面去,然后它所有调用的模块都放在这个文件夹,或者这个文件夹的子文件夹里面去:

116b49e9adaee6f1074156c8aeb458b21692ac26

这样子,既可以在pycharm里面运行这个程序,也可以单独的使用命令行运行这个程序..

6140236ed4c12dcb0b9d7fee5c85619a6e6a45bf

那么我想,在pycharm里面为了避免出现这种虚拟环境造成路径问题,可以考虑什么样的代码风格呢?

建议把你程序的主入口模块放在一个文件夹A中,所有他要调用的模块放在A的子文件夹里面,然后在写代码的时候,将模块的调用,写成:

子文件夹.模块名

的形式.这样你既能使用pycharm的各种提示功能,也能保证程序迁移到系统命令行环境后的运行.

欢迎拍砖讨论....

另外:使用pycharm,官方推荐的编码规范是 PEP8:

https://www.python.org/dev/peps/pep-0008/#imports

点这个链接,就可以看到pep8 对import的建议:

其中有一句:

330557d2e8b7e62322e409b3f816ff60982fbf10

所以,还是来整理一下你的文件结构,然后用绝对路径吧22.gif

转载地址:http://efoso.baihongyu.com/

你可能感兴趣的文章
mob短信
查看>>
4.6-4.7 配置网络 4.8-4.9 远程登录 4.10 Linux密钥认证登录Linux
查看>>
RSA2实例详解
查看>>
mysql中的存储过程常见操作
查看>>
Gitlab 汉化说明
查看>>
如何隐藏Joomla首页菜单
查看>>
浅谈Linux内存管理机制
查看>>
linux下weblogic安装
查看>>
看完这篇Linux基本的操作就会了
查看>>
利用wordcloud生成云图
查看>>
Ubantu安装Mysql
查看>>
【2018.06.04学习笔记】【linux基础知识 11.32】
查看>>
网络基础知识(华为)
查看>>
Spring Cloud云架构 - commonservice-sso服务搭建(一)
查看>>
maven project中不更新自定义插件的解决办法
查看>>
LNMP架构二
查看>>
8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件
查看>>
实际项目(SpringBoot项目)中集成Druid实现监控功能
查看>>
资本寒冬下的android面经
查看>>
Django 各种关系字段详解
查看>>