Created
November 7, 2018 00:56
-
-
Save mpkocher/685237b7408b64fde2574f1ea2aed87c to your computer and use it in GitHub Desktop.
Ammonite Ops /dev/tty: Device not configured Issue
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Ammonite Ops in Almond" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[32mimport \u001b[39m\u001b[36malmond.api.Properties\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mammonite.ops._\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mjava.time.LocalDate\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mammonite.{Constants => AmmoniteConstants}\u001b[39m" | |
] | |
}, | |
"execution_count": 1, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import almond.api.Properties\n", | |
"import ammonite.ops._\n", | |
"import java.time.LocalDate\n", | |
"import ammonite.{Constants => AmmoniteConstants}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[36md0\u001b[39m: \u001b[32mPath\u001b[39m = root/\u001b[32m'Users\u001b[39m/\u001b[32m'mkocher\u001b[39m/\u001b[32m'Desktop\u001b[39m" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"val d0 = Path(\"/Users/mkocher/Desktop\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"sh: /dev/tty: Device not configured\n" | |
] | |
}, | |
{ | |
"ename": "", | |
"evalue": "", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[31mjava.lang.RuntimeException: Nonzero exit value: 1\u001b[39m\n scala.sys.package$.error(\u001b[32mpackage.scala\u001b[39m:\u001b[32m26\u001b[39m)\n scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(\u001b[32mProcessBuilderImpl.scala\u001b[39m:\u001b[32m134\u001b[39m)\n scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(\u001b[32mProcessBuilderImpl.scala\u001b[39m:\u001b[32m104\u001b[39m)\n ammonite.terminal.TTY$.consoleDim(\u001b[32mUtils.scala\u001b[39m:\u001b[32m94\u001b[39m)\n ammonite.terminal.ConsoleDim.$anonfun$dims$2(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m34\u001b[39m)\n scala.Option.getOrElse(\u001b[32mOption.scala\u001b[39m:\u001b[32m121\u001b[39m)\n ammonite.terminal.ConsoleDim.$anonfun$dims$1(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m31\u001b[39m)\n scala.Option.getOrElse(\u001b[32mOption.scala\u001b[39m:\u001b[32m121\u001b[39m)\n ammonite.terminal.ConsoleDim.dims(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m30\u001b[39m)\n ammonite.terminal.ConsoleDim.width(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m42\u001b[39m)\n ammonite.terminal.ConsoleDim$.width(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m54\u001b[39m)\n ammonite.repl.FrontEndUtils$.width(\u001b[32mFrontEndUtils.scala\u001b[39m:\u001b[32m11\u001b[39m)\n ammonite.repl.PPrints$.$anonfun$lsSeqRepr$3(\u001b[32mPPrints.scala\u001b[39m:\u001b[32m26\u001b[39m)\n scala.collection.Iterator$ConcatIteratorCell.headIterator(\u001b[32mIterator.scala\u001b[39m:\u001b[32m244\u001b[39m)\n scala.collection.Iterator$ConcatIterator.advance(\u001b[32mIterator.scala\u001b[39m:\u001b[32m190\u001b[39m)\n scala.collection.Iterator$ConcatIterator.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m221\u001b[39m)\n scala.collection.Iterator$$anon$10.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m454\u001b[39m)\n scala.collection.Iterator$$anon$12.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m507\u001b[39m)\n pprint.Truncated.next(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m93\u001b[39m)\n pprint.Truncated.next(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m11\u001b[39m)\n scala.collection.Iterator$$anon$12.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m508\u001b[39m)\n pprint.Truncated.hasNext(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m80\u001b[39m)\n scala.collection.Iterator.toStream(\u001b[32mIterator.scala\u001b[39m:\u001b[32m1411\u001b[39m)\n scala.collection.Iterator.toStream$(\u001b[32mIterator.scala\u001b[39m:\u001b[32m1410\u001b[39m)\n pprint.Truncated.toStream(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m11\u001b[39m)\n ammonite.repl.FullReplAPI$Internal$.print(\u001b[32mFullReplAPI.scala\u001b[39m:\u001b[32m90\u001b[39m)" | |
] | |
} | |
], | |
"source": [ | |
"ls! d0" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[32mimport \u001b[39m\u001b[36mammonite.ops.ImplicitWd._\u001b[39m" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import ammonite.ops.ImplicitWd._" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"sh: /dev/tty: Device not configured\n" | |
] | |
}, | |
{ | |
"ename": "", | |
"evalue": "", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[31mjava.lang.RuntimeException: Nonzero exit value: 1\u001b[39m\n scala.sys.package$.error(\u001b[32mpackage.scala\u001b[39m:\u001b[32m26\u001b[39m)\n scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(\u001b[32mProcessBuilderImpl.scala\u001b[39m:\u001b[32m134\u001b[39m)\n scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(\u001b[32mProcessBuilderImpl.scala\u001b[39m:\u001b[32m104\u001b[39m)\n ammonite.terminal.TTY$.consoleDim(\u001b[32mUtils.scala\u001b[39m:\u001b[32m94\u001b[39m)\n ammonite.terminal.ConsoleDim.$anonfun$dims$2(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m34\u001b[39m)\n scala.Option.getOrElse(\u001b[32mOption.scala\u001b[39m:\u001b[32m121\u001b[39m)\n ammonite.terminal.ConsoleDim.$anonfun$dims$1(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m31\u001b[39m)\n scala.Option.getOrElse(\u001b[32mOption.scala\u001b[39m:\u001b[32m121\u001b[39m)\n ammonite.terminal.ConsoleDim.dims(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m30\u001b[39m)\n ammonite.terminal.ConsoleDim.width(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m42\u001b[39m)\n ammonite.terminal.ConsoleDim$.width(\u001b[32mConsoleDim.scala\u001b[39m:\u001b[32m54\u001b[39m)\n ammonite.repl.FrontEndUtils$.width(\u001b[32mFrontEndUtils.scala\u001b[39m:\u001b[32m11\u001b[39m)\n ammonite.repl.PPrints$.$anonfun$lsSeqRepr$3(\u001b[32mPPrints.scala\u001b[39m:\u001b[32m26\u001b[39m)\n scala.collection.Iterator$ConcatIteratorCell.headIterator(\u001b[32mIterator.scala\u001b[39m:\u001b[32m244\u001b[39m)\n scala.collection.Iterator$ConcatIterator.advance(\u001b[32mIterator.scala\u001b[39m:\u001b[32m190\u001b[39m)\n scala.collection.Iterator$ConcatIterator.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m221\u001b[39m)\n scala.collection.Iterator$$anon$10.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m454\u001b[39m)\n scala.collection.Iterator$$anon$12.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m507\u001b[39m)\n pprint.Truncated.next(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m93\u001b[39m)\n pprint.Truncated.next(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m11\u001b[39m)\n scala.collection.Iterator$$anon$12.hasNext(\u001b[32mIterator.scala\u001b[39m:\u001b[32m508\u001b[39m)\n pprint.Truncated.hasNext(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m80\u001b[39m)\n scala.collection.Iterator.toStream(\u001b[32mIterator.scala\u001b[39m:\u001b[32m1411\u001b[39m)\n scala.collection.Iterator.toStream$(\u001b[32mIterator.scala\u001b[39m:\u001b[32m1410\u001b[39m)\n pprint.Truncated.toStream(\u001b[32mTruncated.scala\u001b[39m:\u001b[32m11\u001b[39m)\n ammonite.repl.FullReplAPI$Internal$.print(\u001b[32mFullReplAPI.scala\u001b[39m:\u001b[32m90\u001b[39m)" | |
] | |
} | |
], | |
"source": [ | |
"ls!" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Alternative to using ammonite.ops" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[32mimport \u001b[39m\u001b[36m$ivy.$ \u001b[39m" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import $ivy.`com.github.pathikrit::better-files:3.6.0`" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[32mimport \u001b[39m\u001b[36mbetter.files._\n", | |
"\u001b[39m\n", | |
"\u001b[32mimport \u001b[39m\u001b[36mFile._\u001b[39m" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import better.files._\n", | |
"import File._" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[36md0\u001b[39m: \u001b[32mFile\u001b[39m = /Users/mkocher/Desktop\n", | |
"\u001b[36mres7_1\u001b[39m: \u001b[32mInt\u001b[39m = \u001b[32m8\u001b[39m" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"val d0 = home / 'Desktop\n", | |
"d0.list.length" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Session Info" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"defined \u001b[32mfunction\u001b[39m \u001b[36mgetPythonVersion\u001b[39m\n", | |
"defined \u001b[32mfunction\u001b[39m \u001b[36mgetJupyterCoreVersion\u001b[39m\n", | |
"defined \u001b[32mfunction\u001b[39m \u001b[36msessionInfo\u001b[39m" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"def getPythonVersion(): Option[String] = {\n", | |
" // these basic 2/3 differences are annoying. 2 writes to stderr\n", | |
" // val result = %%python(\"--version\")\n", | |
" val result = %%python(\"-c\", \"import sys; sys.stdout.write(sys.version)\")\n", | |
" result.out.lines.headOption.map(_.trim)\n", | |
"}\n", | |
"\n", | |
"def getJupyterCoreVersion(): Option[String] = {\n", | |
" val result = %%python(\"-c\", \"import sys;import jupyter_core as J; sys.stdout.write(J.__version__)\")\n", | |
" result.out.lines.headOption\n", | |
"}\n", | |
"\n", | |
"def sessionInfo(): Map[String, String] = {\n", | |
" Map(\"now\" -> LocalDate.now().toString,\n", | |
" \"scalaVersion\" -> scala.util.Properties.scalaPropOrElse(\"version.number\", \"unknown\"),\n", | |
" \"javaVersion\" -> System.getProperty(\"java.version\") ,\n", | |
" \"almondVersion\" -> s\"${Properties.version}+${Properties.commitHash.take(7)}\",\n", | |
" \"pythonVersion\" -> getPythonVersion().getOrElse(\"unknown\"),\n", | |
" \"jupyterCoreVersion\" -> getJupyterCoreVersion().getOrElse(\"unknown\"),\n", | |
" \"ammoniteVersion\" -> AmmoniteConstants.version\n", | |
" )\n", | |
"}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"\u001b[36mres9\u001b[39m: \u001b[32mMap\u001b[39m[\u001b[32mString\u001b[39m, \u001b[32mString\u001b[39m] = \u001b[33mMap\u001b[39m(\n", | |
" \u001b[32m\"jupyterCoreVersion\"\u001b[39m -> \u001b[32m\"4.4.0\"\u001b[39m,\n", | |
" \u001b[32m\"javaVersion\"\u001b[39m -> \u001b[32m\"1.8.0_111\"\u001b[39m,\n", | |
" \u001b[32m\"almondVersion\"\u001b[39m -> \u001b[32m\"0.1.11+eed7aa2\"\u001b[39m,\n", | |
" \u001b[32m\"ammoniteVersion\"\u001b[39m -> \u001b[32m\"1.3.2\"\u001b[39m,\n", | |
" \u001b[32m\"pythonVersion\"\u001b[39m -> \u001b[32m\"3.7.1 (default, Oct 23 2018, 14:07:42)\"\u001b[39m,\n", | |
" \u001b[32m\"scalaVersion\"\u001b[39m -> \u001b[32m\"2.12.7\"\u001b[39m,\n", | |
" \u001b[32m\"now\"\u001b[39m -> \u001b[32m\"2018-11-06\"\u001b[39m\n", | |
")" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sessionInfo()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Scala", | |
"language": "scala", | |
"name": "scala" | |
}, | |
"language_info": { | |
"codemirror_mode": "text/x-scala", | |
"file_extension": ".scala", | |
"mimetype": "text/x-scala", | |
"name": "scala", | |
"nbconvert_exporter": "script", | |
"version": "2.12.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
relevant issue: com-lihaoyi/Ammonite#276 (comment)