小编Mit*_*ops的帖子

如何在emacs org-mode中结束TODO列表

我有一个TODO项目列表,我试图在同一个文件中有2个TODO列表,但似乎无法结束第一个.

FIRST LIST: TODAY
* TODO Item 1
  Description
* TODO Item 2
  Description


SECOND LIST: TOMORROW
* TODO Item 3
  Description
* TODO Item 4 
  Description
Run Code Online (Sandbox Code Playgroud)

不幸的是,SECOND LIST: TOMORROW现在是描述的一部分TODO Item 2.通过这个,我的意思是当我点击shift-tab时,我不再看到文本,SECOND LIST: TOMORROW因为它折叠了TODO Item 2.我看到的是......

FIRST LIST: TODAY
* TODO Item 1
* TODO Item 2
* TODO Item 3
* TODO Item 4 
Run Code Online (Sandbox Code Playgroud)

虽然我想看到的是......

FIRST LIST: TODAY
* TODO Item 1
* TODO Item 2


SECOND LIST: TOMORROW
* TODO …
Run Code Online (Sandbox Code Playgroud)

emacs org-mode

6
推荐指数
3
解决办法
3994
查看次数

将Rscript中的布尔值输出到Bash变量中

我有一个输出TRUE或FALSE的R脚本.在R中,它使用了真正的T/F数据类型,但当我将其返回值回显为bash时,它似乎是一个字符串,说:

"[1] TRUE"

要么

"[1] FALSE"

它们都先于[1].也不是[0],这不是拼写错误.无论如何,这样做的结果是什么,当我尝试测试这个RSCRIPT的输出运行的后续脚本,我要做的字符串比较"[1] TRUE",如下图,而不是比较"真"或者" 1"感觉更干净,更好.

A=$(Rscript ~/MyR.r)
echo $A
if [ "$A" == "[1] TRUE" ]; then
    bash SecondScript.sh
fi
Run Code Online (Sandbox Code Playgroud)

如何让R输出一个真正的布尔值,或者Bash接受输出字符串并将其转换为0/1进行比较?也就是说,我宁愿测试......

if [ $A == TRUE ];
Run Code Online (Sandbox Code Playgroud)

if [ "$A" == "[1] TRUE" ];
Run Code Online (Sandbox Code Playgroud)

这是可能的,或者我应该对此感到满意,它是如何的,哪个有效?

*更新*

这是产生这个的Rscript的最小化版本......

myinput <- TRUE #or FALSE

FunctionName <- function(test){
if (test == TRUE){
val <- TRUE
} else {
val <- FALSE
}
return(val)
}

FunctionName(myinput)
Run Code Online (Sandbox Code Playgroud)

bash r

6
推荐指数
1
解决办法
3963
查看次数

只有在运行nginx时才会出现py2neo的Cypher错误

我有一个烧瓶应用程序,使用neo4j的一些数据.当我使用python服务器时,一切都在本地运行良好,但是当我在nginx + uwsgi上部署时,我无法再在py2neo中执行cypher查询.我无法判断错误传达是在py2neo级别,还是nginx权限或类似的东西.(我在与烧瓶相同的盒子上运行neo4j,开始.)

奇怪的是,查询否则有效,并且它所说的索引不存在("组织"),实际上在我使用neo4j控制台时确实存在.这是错误:

  File "/var/www/newproj/newproj/view_helpers.py", line 333, in tile_portfolios
    X = cypher.execute(cdb,query)[0]
  File "/usr/local/lib/python2.7/dist-packages/py2neo/cypher.py", line 261, in execute
    params, row_handler=row_handler, metadata_handler=metadata_handler, error_handler=error_handler
  File "/usr/local/lib/python2.7/dist-packages/py2neo/cypher.py", line 118, in execute
    stacktrace=err.stacktrace,
CypherError: (u'Index `organization` does not exist', u'MissingIndexException', [u'org.neo4j.cypher.internal.executionplan.builders.IndexQueryBuilder$.checkNodeIndex(IndexQueryBuilder.scala:120)', u'org.neo4j.cypher.internal.executionplan.builders.IndexQueryBuilder$.getNodeGetter(IndexQueryBuilder.scala:87)', u'org.neo4j.cypher.internal.executionplan.builders.IndexQueryBuilder.createStartPipe(IndexQueryBuilder.scala:62)', u'org.neo4j.cypher.internal.executionplan.builders.IndexQueryBuilder.apply(IndexQueryBuilder.scala:38)', u'org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl.prepareExecutionPlan(ExecutionPlanImpl.scala:45)', u'org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl.<init>(ExecutionPlanImpl.scala:31)', u'org.neo4j.cypher.ExecutionEngine$$anonfun$prepare$1.apply(ExecutionEngine.scala:67)', u'org.neo4j.cypher.ExecutionEngine$$anonfun$prepare$1.apply(ExecutionEngine.scala:67)', u'org.neo4j.cypher.internal.LRUCache$LazyValue.value(LRUCache.scala:27)', u'org.neo4j.cypher.internal.LRUCache.getOrElseUpdate(LRUCache.scala:39)', u'org.neo4j.cypher.ExecutionEngine.prepare(ExecutionEngine.scala:67)', u'org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:59)', u'org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:63)', u'org.neo4j.cypher.javacompat.ExecutionEngine.execute(ExecutionEngine.java:79)', u'org.neo4j.server.rest.web.CypherService.cypher(CypherService.java:64)', u'java.lang.reflect.Method.invoke(Method.java:616)'])
Run Code Online (Sandbox Code Playgroud)

这就是我确定它所说的不存在的索引确实存在的原因:

neo4j-sh (?)$ index --indexes
Node indexes:
  vertex
  organization

Relationship indexes:
  edge
neo4j-sh (?)$ index --get-config organization
{
    "provider": "lucene",
    "type": "exact"
} 
Run Code Online (Sandbox Code Playgroud)

那么,这是我应该在cypher.py文件中查看的内容吗?或者这看起来像权限问题,也许nginx无法读取来自locahost的响应:7474什么时候它不是由python服务器运行的?奇怪的是,py2neo的其他方面在服务器上可以正常工作,例如neo4j.GraphDatabaseService("http://localhost:7474/db/data/").get_or_create_indexed_node() 任何帮助调试(或向任何这些优秀项目提交错误报告是合适的吗?)非常感谢.

nginx neo4j flask uwsgi py2neo

6
推荐指数
0
解决办法
368
查看次数

Emacs and conda workaround

I'm using emacs and anaconda.

I have this in my init.el:

(setenv "WORKON_HOME" "/home/user/anaconda3/envs/")
Run Code Online (Sandbox Code Playgroud)

And conda on my path:

# added by Anaconda3 installer
export PATH="/home/user/anaconda3/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

but emacs can't find my conda environments, which I understand it is supposed to be able to do..

So, when I run C-c C-p to start a new session, and C-c C-c, it fails to import my packages which are installed in a conda environment, with ModuleNotFoundError.

Since I have added this …

python emacs conda

6
推荐指数
2
解决办法
721
查看次数

RVM gem权限错误

我开始尝试设置本地rails安装进行开发.apt-get然而,在我安装使用之后,我了解了RVM,因此我删除了之前的RVM,并从RVM重新安装.不过,看起来我有遗留问题.具体来说,当我尝试安装rails时,我得到...

$ gem install rails
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /var/lib/gems/1.9.1 directory.
Run Code Online (Sandbox Code Playgroud)

这已经看起来像一个问题,因为我不希望它在/ var /目录中,我希望它在用户目录中.所以,我检查以下内容......

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.11
  - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.1
     - /home/myusername/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - …
Run Code Online (Sandbox Code Playgroud)

ruby linux ruby-on-rails rvm

5
推荐指数
1
解决办法
1万
查看次数

WTForms中的选择验证在数据库执行时不会更新

我理解SelectFieldWTForms中的方法采用choices具有形式的can参数...

choices=[("value1", "display of value 1"), ("value2", "display of value 2")]
Run Code Online (Sandbox Code Playgroud)

我需要根据对数据库的调用来填充我的选择.我使用neo4j作为我的后端,所以我不能使用modelforms或其他内置解决方案来填充表单中的数据.

def get_list_of_things():
    query = 'start n = node:things("*:*") return ID(n), n.display_name;'
    t = cypher.execute(cdb, query)[0]
    for x in t:
        x[0] = str(x[0])
        x[1] = str(x[1])
    things = list(tuple(x) for x in t)
    return things

class SelectAThing(Form):
    thingID = SelectField('Thing name', choices=get_list_of_things())
Run Code Online (Sandbox Code Playgroud)

运行选项= get_list_of_things()确实产生了一个有效的选择列表,很棒,这基本上有效.

但是,即使数据库存在,也似乎永远不会更新事物列表,我稍后会返回该表单.如果我向db添加内容并返回,我仍然会看到第一个列表.

python flask wtforms py2neo

5
推荐指数
2
解决办法
1545
查看次数

在emacs中是否存在针对每个区域的应用命令?

我有一堆保存在orgmode文件中的链接,比如...

http://www.stackoverflow.com
http://www.google.com
http://www.github.com
Run Code Online (Sandbox Code Playgroud)

我可以通过将光标放在链接上并打开它来打开每一个C-c C-o,它可以方便地弹出我的默认浏览器并在选项卡中打开该链接.

现在假设我有20个这样的链接.是否有方便的方法将这样的函数应用于选定区域内的每一行,而不记录显式宏?

我想它看起来像......

Select region
M-x foreach-in-region
Keystrokes to apply to each line: C-c C-o
Run Code Online (Sandbox Code Playgroud)

这仅适用于已定义的功能.我想象没有的方式会像......

with cursor on first line of link
F3 # to start record macro
C-c C-o 
down arrow
F4
Select region (omitting the first line, since that's now already opened in my browser)
C-x C-k r
Run Code Online (Sandbox Code Playgroud)

这存在吗?如果没有,我会怎么做?

emacs elisp

5
推荐指数
2
解决办法
1257
查看次数

将json写入Haskell中的文件(使用Text而不是[Char])

我正在尝试将对象序列化为JSON字符串并将其写入文件.

在python中,我会做类似的事情:

>>> meowmers = {"name" : "meowmers", "age" : 1}
>>> import json
>>> with open("myfile.json","wb") as f
    json.dump(meowmers, f)

$ cat myfile.json
{"age": 1, "name": "meowmers"}
Run Code Online (Sandbox Code Playgroud)

我在Haskell看这个

$ stack ghci

{-# LANGUAGE OverloadedStrings #-}
:set -XOverloadedStrings

import GHC.Generics
import Data.Aeson as A
import Data.Text.Lazy as T
import Data.Text.Lazy.IO as I

:{
data Cat = Cat {
      name :: Text
    , age  :: Int
    } deriving Show
:}

let meowmers = Cat {name = "meowmers", age = 1}
writeFile …
Run Code Online (Sandbox Code Playgroud)

json haskell

5
推荐指数
2
解决办法
1071
查看次数

求矩阵置换矩阵的算法

我看到一些类似的问题:

给定元素:

elems =  [1,2,3,4] # dimensions 1x4
Run Code Online (Sandbox Code Playgroud)

如果我有一个向量:

M = [4,2,3,1] # dimensions 1x4
Run Code Online (Sandbox Code Playgroud)

我知道有一些排列矩阵p可以相乘elems * p = M,在这种情况下是:

p = 
[ 
  0 0 0 1
  0 1 0 0 
  0 0 1 0 
  1 0 0 0 
] # dimensions 4x4

# eg: 
# elems * P = M
  1x4   4x4 = 1x4
Run Code Online (Sandbox Code Playgroud)

现在,对于我的问题,我感兴趣的是当 M 是非向量、非方阵时它会是什么样子,例如:

M' = [ 
  4 2 3 1 
  4 3 2 1
  1 2 3 4
] …
Run Code Online (Sandbox Code Playgroud)

algorithm r permutation matrix

5
推荐指数
1
解决办法
1333
查看次数

如何导出包含从github上pip安装的包的conda环境?

我知道我可以使用如下语法导出 conda 环境:

conda env export -n my_env -f /somewhere/environment.yml
Run Code Online (Sandbox Code Playgroud)

并使用以下命令导入它们:

conda env create -f /somewhere/environment.yml -p /somewhere/else/
Run Code Online (Sandbox Code Playgroud)

但是,如果我从我的私人 github 安装了一个包,使用如下语法

(my_env) ~/ $ pip install git+https://github.com/user/my_package.git@master#egg=my_package
Run Code Online (Sandbox Code Playgroud)

或者将其放入我的 中requirements.txt,如下所示:

aiofiles==0.4.0
git+https://github.com/user/my_package.git@master#egg=my_package
chardet==3.0.4
Run Code Online (Sandbox Code Playgroud)

当我导出时,我看到这个:

name: my_env
channels:
  - defaults
dependencies:
  - ca-certificates=2019.5.15=0
...
  - pip:
    - aiofiles==0.4.0
    - my_package   # UH OH, NO github INSTRUCTION OR VERSION
    - chardet==3.0.4
Run Code Online (Sandbox Code Playgroud)

这是一个问题,因为当我尝试运行时:

conda env create -f /somewhere/environment.yml -p /somewhere/else/
Run Code Online (Sandbox Code Playgroud)

我收到一条错误,指出 conda 无法安装,因为找不到my_package. 这是有道理的,环境并没有告诉它去 github 中查找。

我怎样才能要求conda …

python pip github conda

5
推荐指数
0
解决办法
1883
查看次数

标签 统计

emacs ×3

python ×3

conda ×2

flask ×2

py2neo ×2

r ×2

algorithm ×1

bash ×1

elisp ×1

github ×1

haskell ×1

json ×1

linux ×1

matrix ×1

neo4j ×1

nginx ×1

org-mode ×1

permutation ×1

pip ×1

ruby ×1

ruby-on-rails ×1

rvm ×1

uwsgi ×1

wtforms ×1