- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经安装了 anaconda 并使用 conda 创建了一个环境。除了在环境中使用 pip 安装的 zenlog 之外的所有软件包都是使用 conda 安装的。
我有两个按以下方式编写的模块(.py 文件),它们都有我在下面描述的错误。
这些模块与我用来创建和激活此环境的环境文件一起存储在/Documents/python/project 目录中。
使用conda list
可以看到所有库或包并正确导入。当我尝试创建 logtextfile
类的对象时,这只是我的简单模块失败了。
当我从日志模块(我称之为 mylog.py)创建一个对象时,我收到错误:`
NameError: name 'logtextfile' is not defined
当我在与 mylog.py 模块相同的目录中创建 jupyter 笔记本并按如下方式导入它时,会发生此错误:
import mylog # A simple module to log a message to a text file.
但是,当我将 mylog 模块的类和函数复制到testing.ipynb jupyter 笔记本的单元格中并创建该类的对象时,它可以正常工作。
<小时/>与 jupyter 笔记本单元相比,在模块(单独的 .py 文件)中创建日志记录类的对象时,我必须做哪些不同的事情?
<小时/>我的项目文件夹的文件结构是:
文件夹:/Documents/python/项目目录
文件testing.ipynb
文件 mylog.py
..
我的模块是:
import datetime
import os
class logtextfile(object):
def __init__(self, name):
self.name = name
def __str__(self):
return "{} ".format(self.__class__.__name__)
def write(self,**kwargs):
"""Writes a log message to a user specified file which indicates the action takes and if it was successful"""
self.file = kwargs.get('file',"log.txt")
self.loglevel = kwargs.get('loglevel',"critical")
self.logmessage = kwargs.get('logmessage',"error")
self.success = kwargs.get('success',False)
self.class_name = kwargs.get('class',str("{}".format(self.__class__.__name__)))
self.output = ", ".join([str(datetime.datetime.now().replace(second=0,microsecond=0)),self.class_name,str(self.logmessage),str(self.success),str("\n")])
for key, value in kwargs.items():
setattr(self,key,value)
f = open(str(self.file),"a")
f.write(self.output)
f.close()
def now(self, filename, openas, data):
"""Creates a log file with todays date and time"""
fmt='%Y-%m-%d-%H-%M-%S_{fname}'
fn = datetime.datetime.now().strftime(fmt).format(fname=filename)
f = open(str(fn),openas)
f.write(data + "\n")
f.close()
这是我的 conda 环境的副本如果有人想尝试在 jupyter 笔记本单元中创建日志记录类的对象,并从我的 mylog.py 文件中导入它。
要求:
<pre>
<code>
name: stocks_library
channels:
- anaconda-fusion
- defaults
dependencies:
- appnope=0.1.0=py35_0
- beautifulsoup4=4.5.3=py35_0
- blaze=0.10.1=py35_0
- bleach=1.5.0=py35_0
- bokeh=0.12.5=py35_0
- chest=0.2.3=py35_0
- click=6.7=py35_0
- cloudpickle=0.2.2=py35_0
- cytoolz=0.8.2=py35_0
- dask=0.13.0=py35_0
- datashape=0.5.4=py35_0
- decorator=4.0.11=py35_0
- entrypoints=0.2.2=py35_1
- flask=0.12.1=py35_0
- flask-cors=3.0.2=py35_0
- h5py=2.6.0=np110py35_0
- hdf5=1.8.15.1=2
- heapdict=1.0.0=py35_1
- html5lib=0.999=py35_0
- icu=54.1=0
- ipykernel=4.6.1=py35_0
- ipython=6.0.0=py35_0
- ipython_genutils=0.2.0=py35_0
- ipywidgets=6.0.0=py35_0
- itsdangerous=0.24=py35_0
- jinja2=2.9.6=py35_0
- jsonschema=2.6.0=py35_0
- jupyter=1.0.0=py35_3
- jupyter_client=5.0.1=py35_0
- jupyter_console=5.1.0=py35_0
- jupyter_core=4.3.0=py35_0
- libiconv=1.14=0
- libpq=9.5.4=0
- libxml2=2.9.4=0
- libxslt=1.1.29=0
- llvmlite=0.11.0=py35_0
- locket=0.2.0=py35_1
- lxml=3.7.3=py35_0
- markupsafe=0.23=py35_2
- mistune=0.7.4=py35_0
- mkl=11.1=np110py35_p1
- mkl-rt=11.1=p0
- mkl-service=1.1.0=py35_p0
- multipledispatch=0.4.9=py35_0
- mysql-connector-python=2.0.4=py35_0
- nbconvert=5.1.1=py35_0
- nbformat=4.3.0=py35_0
- networkx=1.11=py35_0
- notebook=5.0.0=py35_0
- numba=0.26.0=np110py35_0
- numexpr=2.4.6=np110py35_0
- numpy=1.10.2=py35_p0
- odo=0.5.0=py35_1
- openssl=1.0.2k=1
- pandas=0.18.1=np110py35_0
- pandas-datareader=0.2.1=py35_0
- pandasql=0.7.3=py35_0
- pandocfilters=1.4.1=py35_0
- partd=0.3.7=py35_0
- path.py=10.3.1=py35_0
- pexpect=4.2.1=py35_0
- pickleshare=0.7.4=py35_0
- pip=9.0.1=py35_1
- postgresql=9.5.4=0
- prompt_toolkit=1.0.14=py35_0
- psutil=5.2.2=py35_0
- psycopg2=2.7.1=py35_0
- ptyprocess=0.5.1=py35_0
- pygments=2.2.0=py35_0
- pymysql=0.7.9=py35_0
- pyqt=5.6.0=py35_2
- pytables=3.2.2=np110py35_0
- python=3.5.3=1
- python-dateutil=2.6.0=py35_0
- pytz=2017.2=py35_0
- pyyaml=3.12=py35_0
- pyzmq=16.0.2=py35_0
- qt=5.6.2=0
- qtconsole=4.3.0=py35_0
- readline=6.2=2
- requests=2.13.0=py35_0
- requests-file=1.4.1=py35_0
- scikit-learn=0.17=np110py35_p1
- scipy=0.16.1=np110py35_p0
- setuptools=27.2.0=py35_0
- simplegeneric=0.8.1=py35_1
- sip=4.18=py35_0
- six=1.10.0=py35_0
- sqlalchemy=1.1.9=py35_0
- sqlite=3.13.0=0
- terminado=0.6=py35_0
- testpath=0.3=py35_0
- tk=8.5.18=0
- toolz=0.8.2=py35_0
- tornado=4.4.2=py35_0
- traitlets=4.3.2=py35_0
- wcwidth=0.1.7=py35_0
- werkzeug=0.12.1=py35_0
- wheel=0.29.0=py35_0
- widgetsnbextension=2.0.0=py35_0
- xz=5.2.2=1
- yaml=0.1.6=0
- zlib=1.2.8=3
- pip:
- ipython-genutils==0.2.0
- jupyter-client==5.0.1
- jupyter-console==5.1.0
- jupyter-core==4.3.0
- prompt-toolkit==1.0.14
- tables==3.2.2
prefix: /Users/joshua/miniconda3/envs/stocks_library
</code>
</pre>
最佳答案
这里我在尝试创建对象时错误地引用了模块。
Where as I tried logger = logtextfile("myfile")
我应该写:
import mylog
logger = mylog.logtextfile("myfile")
logger.write(logmessage="mymessage",success=True)
print("log complete")
关于python - 创建一个可以被 conda 环境中的 jupyter Notebook 理解的 python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43702107/
我不断收到以下消息:“自上次打开或保存笔记本文件以来,磁盘上的笔记本文件已更改。您想用此处打开的版本覆盖磁盘上的文件,还是加载磁盘上的版本(重新加载页面) )?”在 Jupyter 笔记本上,即使我没
让我们假设,我想打开一个笔记本(即使用我的本地 Jupyter 实例),但我不想用它启动关联的内核(即 Python)。我怎样才能做到这一点? 可能的用例: 我只想从以前的计算中获得笔记本输出。我不想
在将 IPython 笔记本转换为笔记本时,我试图隐藏一些特定的单元格。我想在类里面使用笔记本,并希望从包含问题和答案的主笔记本生成“练习”笔记本。 This post非常有帮助,但由于某种原因,使用
在过去的几个小时里,我一直在试图弄清楚如何将我的 Jupyter Notebook 下载为 pdf。我已经下载了 MiKTeX 并重新安装了 anaconda。下面的完整错误 500内部服务器错误 错
我想要一个完整的文件作为文本文件,而不仅仅是 IPython 笔记本中的一个单元格。 我在 IPython notebook 中写了一些代码,现在我想测试它们,所以我尝试将一些文本文件作为原始数据上传
我在我的办公室电脑上工作,由于安全限制不允许我安装程序(比如 miktex,....)。所以我决定将我的笔记本导出为 .html。 如您所见,渲染效果不佳: 一些代码被删减了 很多空间被破坏了,有很大
如何在终端中编辑我的 jupyter notebook。我只是不喜欢在网络浏览器中打开 jupyter notebook。我用谷歌搜索,但每个答案都与我们如何直接从终端打开笔记本有关。 最佳答案 我建
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我正在使用 Julia,但并不是很喜欢 IDE(更像是一个笔记本电脑)。所以我第一次使用 Jupyter(实验室和笔记本)。 我从 Anaconda 启动了 Jupyter 并制作了我的笔记本。问题是
我试图用 ipython notebook 在终端中打开 ipython它不会打开 ipython notebook。它给出了以下错误: | ~/documents/ud120-projects/da
尝试从终端启动 jupyter notebook。我目前在正确文件夹中的终端上,并且安装了 python 3.5 和 conda。但它没有启动。 最佳答案 Jupyter Notebooks 允许您打
我有 plotly plotly 的 jupyter 笔记本不会保留 session 之间的 plotly 。 这是在基于官方 jupyter/datascience-notebook docker
我试过使用 pip3 install jupyter 安装 jupyter notebook。每次我启动一个新的 jupyter notebook 时,notebook 都无法连接到内核。请参阅下面的
我懂代码,懂 Markdown。 我已阅读 this Raw cells article ,但看不出太多。 什么是深奥的 NBConvert ? 请投点灯。 最佳答案 更新的文档位于 https://
运行代码后,我可以自动将笔记本保存为HTML。但是,有时结果生成速度太快,因此输出HTML在最后一个单元格中没有输出。 我想知道是否可以告诉文件进行自我保存? 就像是 # In last cell c
我在最近安装了 anaconda 的虚拟机中运行 Ubuntu 14.04。我使用 conda 安装了 jupyter 笔记本。我已经按照我可以在网上找到的所有文档来安装笔记本扩展,但它们无法加载并显
我正在使用 nbconvert通过命令行执行 iPython notebook(如 this answer ): ipython nbconvert --to=html --ExecutePrepro
除了原始 Jupyter Notebook 文件(.ipynb 文件)之外,有时我还会得到一个检查点 .ipynb 文件,该文件似乎直接链接到原始 。 ipynb 文件。 这些检查点文件的用途是什么?
我使用 ssh -L 连接到远程服务器,但如果我合上笔记本电脑盖子或连接丢失,jupyter 笔记本就会断开连接。 重新连接到远程服务器后,“最后一个” session 丢失。 如何才能使其持久?sc
Jupyter 笔记本支持 Markdown 单元格,但它似乎不支持表情符号代码。我想一种方法可能是使用 html 导入图标,如 fontawesome 有人有解决方法吗? 编辑:直接在 jupyte
我是一名优秀的程序员,十分优秀!