python导入一个非标准库

Posted

技术标签:

【中文标题】python导入一个非标准库【英文标题】:python import a non standard library 【发布时间】:2018-11-21 03:04:06 【问题描述】:

您好,我下载了一个很酷的 github,可以在 jupyter notebook 中运行。 但是我需要作者导入这个“非标准库”

    下载文件 我将文件放在同一个文件夹中,确保我的笔记本指向那里。 在笔记本中输入“导入指标” (顺便说一下,https://github.com/voice32/stock_market_indicators/ 中有一个名为 indicator.py 的文件)

我得到这个错误

Traceback(最近一次通话最后一次): 文件“C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py”,第 2961 行,在 run_code 执行(code_obj,self.user_global_ns,self.user_ns) 文件“”,第 5 行,在 进口指标 File "C:\Users\ney12\Google Drive\1) Financial Mastery\3) 纸质资产、交易、其他资产\forex\Van tharp 外汇交易系统\Ney study of van tharp forex trading system\Forex-initial-analysis\指标.py”,第 235 行 val_last = val ^ TabError:缩进中制表符和空格的使用不一致

以防万一我打开命令行并输入“pip install indicator.py” 但我得到一个错误:

" 找不到满足要求的版本 indicator.py(来自版本:) 没有找到与 indicator.py 匹配的分布"

请帮忙!

【问题讨论】:

【参考方案1】:

错误在堆栈跟踪中:

TabError: inconsistent use of tabs and spaces in indentation

当有人在脚本中交替使用制表符和空格来缩进时,就会发生这种情况。很郁闷

我建议在您选择的文本编辑器中打开该文件,然后批量查找和替换制表符并替换为空格。您可以使用查找栏中的 \t 字符(注意转义斜杠),然后使用 \s4(如果启用了正则表达式)或在替换字段中点击空格 4 次。保存它,然后用新的 python shell 重新导入它

【讨论】:

或者您可以使用autopep8 package_dir --recursive --select=E101,E121 --in-place 重新缩进整个目录。你需要使用 pip 安装autopep8 @bro-grammer 真的很酷,从来不知道你能做到这一点【参考方案2】:

在您下载的模块上运行 autopep8

pip install autopep8
autopep8 --in-place <File.py> 

你现在应该可以走了

【讨论】:

以上是关于python导入一个非标准库的主要内容,如果未能解决你的问题,请参考以下文章

Python常用标准库之sys

Python常用标准库之sys

1Python标准库系列之模块介绍

python--标准库与扩展库的导入与使用

Python3标准库:weakref对象的非永久引用

构建链接到其他非标准共享库的共享库