python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pycharm引入其他目录的包报错,import报错

pycharm引入其他目录的包报错,import报错的解决

作者:HealthScience

这篇文章主要介绍了pycharm引入其他目录的包报错,import报错的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

pycharm引入其他目录的包报错,import报错

此时只需要将他们的上级目录置为Sources Root即可

pycharm引入自定义包报错及解决

1.Dictionary 目录及Package包区别

该文件与Python的import机制有关,这关乎到你的哪些.py文件是对外可访问的。有些时候,如果一个包下有很多模块,在import如此多模块是很费事,且不优雅的,此时可以通过修改_ _ init_ _.py来完成该任务。

 在__init__ .py中定义特殊变量_all_ ,将要包含的模块复制给该变量,例如在 __ init__ .py中定义 _all_=[‘tiff’,’bmp’,’jpg’],这里的all 对应的就是 from …import * 中*代指的模块,此时在引用方使用如下语句:

from image import *
tool = tiff.read('a.tiff')

2.Pycharm目录下的包不能被引用解决

方法1

使用from…import添加非python的包时, 需要为python解释器指定搜索路径, 比如使用sys.path.insert(), 还可以指定PYTHONPATH, 我用的是PYTHONPATH, 编辑run的配置文件时突然看到"Add source roots to PYTHONPATH", 又突然联想到Mark Directory as, 于是就觉得把文件夹Mark Directory as成root就不用手动添加PYTHONPATH了, 

方法2:(原理同1):

同包引用错误:右键包 -->Mark Directory as --> Sources Root ,将文件设置为资源引用

Mark Directory as中几个不同选项

Within a content root, PyCharm can distinguish between the folders that contain source code, and the ones to be ignored while searching, parsing, watching and so on. To distinguish different types of folders, mark any folder below a content root as a source folder or as excluded.

在内容根目录中,PyCharm可以区分包含源代码的文件夹和在搜索、解析、监视等过程中要忽略的文件夹。若要区分不同类型的文件夹,请将内容根目录下的任何文件夹标记为源文件夹或排除文件夹。

Source roots contain the actual source files and resources. PyCharm uses the source roots as the starting point for resolving imports

源根包含实际的源文件和资源。PyCharm使用源根作为解析导入的起点

Resource roots are intended for resource files in your application (images, Style Sheets, and so on). By assigning a folder to this category, you tell PyCharm that files in it and in its subfolders can be referenced relative to this folder instead of specifying full paths to them.

资源根用于应用程序中的资源文件(图像、样式表等)。通过将文件夹分配给该类别,您可以告诉PyCharm,它及其子文件夹中的文件可以相对于该文件夹被引用,而不是指定指向它们的完整路径。

Template roots  contain templates for the various web projects.

模板根包含各种web项目的模板。

Excluded roots  

contain files and folders ignored by PyCharm when indexing, searching, parsing, watching, and so on.

排除的根包含PyCharm在索引、搜索、解析、监视等时忽略的文件和文件夹。

3.Pycharm 第三方包的引用

如果是在pycharm 中安装了第三方包如果应用,不是借助框架引入还要在python3.6/site-packages  文件下  pip install ---

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文