Ubuntu 12.04 上的 DeepDive 安装指南

2024-05-15

在拥有以后很多问题 https://stackoverflow.com/questions/22469188/deepdive-installation-postgresql-error安装深潜项目 http://deepdive.stanford.edu/关于Ubuntu,我决定写一个详细的指南。这些问题是基于test.sh随源提供的文件 - 我还不能谈论源的功能(刚刚开始学习)。

因为我弄乱了一些配置文件,而且这在我的 Ubuntu 体验中还处于早期阶段,所以我决定重新安装操作系统 (Precise 12.04) 并从头开始重做一切。因此,本指南基于截至 2014 年 3 月 20 日安装所有相关更新(通过更新管理器)后的 Ubuntu 12.04 的干净版本。

DeepDive 为我们提供了一些先决条件:Java、Python 2.X、PostgreSQL 和 SBT。 Ubuntu 12.04 已经有 Python 2.X,所以我们会担心其他的。

我们将使用 Ubuntu 推荐的 OpenJDK-7。在终端中输入以下内容。

sudo apt-get update
sudo apt-get install openjdk-7-jdk icedtea-7-plugin

现在,让我们安装 SBT。使用以下链接下载 debian 文件 http://repo.scala-sbt.org/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.13.1/sbt.deb或得到它从网站 http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html。 SBT 依赖于curl,所以首先我将安装它。

sudo apt-get install curl
cd /home/tom/Downloads
sudo dpkg -i sbt.deb

现在我需要安装 PostgreSQL,这是迄今为止最棘手的部分。在本教程中,我假设您正在使用的计算机也是 PostgreSQL 主机。还需要注意的是,DeepDive 使用 JSON,显然 PostgreSQL 9.1 及以下版本不支持 JSON。要安装版本 9.3,我将使用“Danny”给出的指令这个 StackExchange 帖子 https://askubuntu.com/questions/186610/how-do-i-upgrade-to-postgres-9-2,只需将数字更改为 9.3:

wget -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo gedit /etc/apt/sources.list.d/pgdg.list

添加以下行到文件,然后保存并关闭:

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

请注意,“precise-pgdg”对应于您的 Ubuntu 版本。现在让我们更新并安装。

sudo apt-get update
sudo apt-get install pgdg-keyring postgresql-9.3

现在我们将安装 DeepDive。首先,我需要安装 git,因为我使用的是新版本的操作系统。然后,指令来自深入了解页面 http://deepdive.stanford.edu/doc/installation.html。我将把 DeepDive 安装在我的主目录中,但如果你想在其他地方安装,请修改cd line.

sudo apt-get install git
cd
git clone https://github.com/dennybritz/deepdive.git
cd deepdive
sbt compile

如果我们现在运行 Deepdive 测试,它会给我们一些错误:

CD深度潜水 ./test.sh

[info] Run completed in 8 seconds, 322 milliseconds.
[info] Total number of tests run: 71
[info] Suites: completed 18, aborted 0
[info] Tests: succeeded 69, failed 2, canceled 0, ignored 0, pending 3
[info] *** 2 TESTS FAILED ***
[error] Failed tests:
[error]     org.deepdive.test.integration.LogisticRegressionApp
[error]     org.deepdive.test.unit.InferenceManagerSpec
[error] Error during tests:
[error]     org.deepdive.test.unit.PostgresInferenceDataStoreSpec
[error]     org.deepdive.test.unit.PostgresExtractionDataStoreSpec
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 29 s, completed Mar 20, 2014 6:45:30 PM

为了解决这个问题,我们需要设置 PostgreSQL。首先,让我们激活本地和 TCP/IP 连接。

sudo gedit /etc/postgresql/9.3/main/postgresql.conf

修改以下行在“连接和身份验证”中:

#listen addresses = 'localhost'

to:

listen_addresses = 'localhost, 127.0.0.1, 192.168.1.10'

请注意,您应该在网络连接中检查您自己的 IP 地址,并使用该地址代替我的 IP 地址(以 .10 结尾)。还值得注意的是 localhost 和 127.0.0.1 是等效的。现在,您需要确保路由器上的端口 5432 已激活/打开。对我来说,它类似于以下内容:从浏览器访问路由器,输入 192.168.1.0 -> 虚拟服务器 -> 为 IP 地址 192.168.1.10 启用端口 5432

现在我们需要第一次设置 postgres 超级用户。以下行将以用户 postgres 的身份打开 psql(感谢Ubuntu-PostgreSQL 社区 Wiki https://help.ubuntu.com/community/PostgreSQL)

sudo -u postgres psql postgres

你应该看到postgres=#和一个光标。输入以下内容,然后输入您选择的密码:

\password postgres

虽然我们仍然在 psql 中作为 postgres 超级用户,但让我们继续创建一个普通用户,该用户与您的 Ubuntu 用户帐户同名。这将使生活变得更轻松(至少对我来说)。您可以使用\du检查用户的特征。

CREATE ROLE tom WITH SUPERUSER CREATEDB CREATEROLE REPLICATION LOGIN;
\du

现在也为该用户添加密码,然后退出 psql。

ALTER ROLE tom WITH PASSWORD 'your_pa$$w0rd';
\q

检查您现在是否再次是用户“tom”,而不是用户“postgres-tom”。如果是后者,请输入exit

我们现在需要一个额外的依赖项才能无错误。

sudo apt-get install gnuplot-x11

最后,我们需要稍微修改一下test.shdeepdive 目录中的文件。似乎存在一个错误,测试“忘记”了您在运行过程中提供的密码。所以,让我们把它硬连线在那里。

cd
gedit deepdive/test.sh

您会注意到顶部有以下几行。

# Set username and password
export PGUSER=${PGUSER:-`whoami`}
export PGPASSWORD=${PGPASSWORD:-}

如果您想保存原始文件,请将名称更改为test_original.sh。我们将把这些行更改为以下内容(根据您的情况):

# Set username and password
export PGUSER=tom
export PGPASSWORD=your_pa$$w0rd

好的,现在转到 Deepdive 文件夹,然后运行测试!

cd deepdive
./test.sh

成功!甜蜜,甜蜜的成功!您应该看到以下内容:

[info] Run completed in 21 seconds, 280 milliseconds.
[info] Total number of tests run: 90
[info] Suites: completed 20, aborted 0
[info] Tests: succeeded 90, failed 0, canceled 0, ignored 0, pending 3
[info] All tests passed.
[success] Total time: 23 s, completed Mar 20, 2014 7:27:21 PM

不要问我哪些测试“待处理”。不知道。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 12.04 上的 DeepDive 安装指南 的相关文章

  • 如何为 PostgreSQL 构建系统

    为 MS SQL Server 构建系统很简单 cmd sqlcmd S i file selector source sql shell true 对于 PostgreSQL 我尝试了这个 env PGPASSWORD password
  • SQLAlchemy 无法连接到本地主机上的 Postgresql

    我确信这是一个很容易修复的错误 只要我能找到它在哪里 这是 Flask 应用程序的错误 11 58 18 web 1 ERROR xxxxxx core Exception on GET 11 58 18 web 1 Traceback m
  • 打开 localhost 时权限被拒绝

    我最近在 Ubuntu 中安装了 Apache PHP 和 MySQL 并将我创建的文件复制到var www目录 但当我打开http localhost它正在显示 警告 未知 无法打开流 第 0 行未知中的权限被拒绝 致命错误 未知 无法打
  • 在 Ubuntu 14.04.3 中运行 oracle imp / exp

    安装 oracle 软件包后 oracle instantclient12 2 basiclite 12 2 0 1 0 1 x86 64 rpm and oracle instantclient12 2 tools 12 2 0 1 0
  • 如何在内核内部使用性能计数器?

    我想访问内核内部的性能计数器 我发现了很多在用户空间中使用性能计数器的方法 但是你能告诉我一些在内核空间中使用这些计数器的方法吗 Please 不指定工具名称 我想写自己的代码 最好是内核模块 我使用的是内核为 3 18 1 的 Ubunt
  • 为什么以下 Postgres SQL 查询需要这么长时间?

    原始查询如下 SELECT TIME TRADEPRICE FROM YEAR where DATE 2010 03 01 and SECURITY STW AX AND TIME lt 10 16 00 AND TYPE TRADE OR
  • AttributeError:“SQLAlchemy”对象没有属性“模型”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 AttributeError sqlalchemy 对象没有属性 模型 有时会出现 ModuleNotFoundError 没有名
  • 在 Docker 容器中运行 MySQL

    所以我的最终目标是运行一个 MySQL Docker 容器 比如来自公共注册表的 tutum mysql 然后将一个 Gitlab Docker 容器 比如 Sameersbn gitlab 链接到它 其中两个容器都使用持久存储 然而 我被
  • 带有 Open vSwitch 的 LXC

    我想尝试OVS 软件Linux交换机 http openvswitch org http openvswitch org 使用我的 LXC 容器 以 Ubuntu 作为主机和来宾 所以我已经安装了它 apt get install open
  • 以非 root 用户身份从 Docker Ubuntu 容器内部调用 Mac 主机上的 Docker 时出现权限被拒绝错误

    我正在尝试从正在运行的 jenkins docker 容器内运行 Docker for Mac 17 06 0 ce mac17 的 OSX 主机上调用 docker 詹金斯 最新 https hub docker com jenkins
  • 如何查询 JSON 元素

    假设我有一个 Postgres 数据库 9 3 并且有一个名为Resources 在里面Resources表我有字段id这是一个 int 和data这是一个 JSON 类型 假设我在该表中有以下记录 1 firstname Dave las
  • 查找表或视图的依赖对象

    背景 在 PostgreSQL 中删除 或替换 对象时 如果存在依赖关系 则删除将失败 不指定CASCADE Problem 数据库返回的错误信息没有列出依赖对象 示例解决方案 该查询可能类似于 SELECT FROM informatio
  • 通过systemd服务启动烧瓶

    有一个systemd服务文件 etc systemd system flask app service Unit Description flask app After network target Service User root Wo
  • 当在另一个表中找到匹配项时更新列

    我尝试使用表 A 中与 Passport no 匹配的值更新表 B 中的列 下面是我的sql查询 update tabel b set b country id a national id from table a a join tabel
  • 减少 plpgsql 中烦人的通知

    我有一个使用临时表的函数 如果存在则必须将其删除 drop table if exists t xy create temp table t xy on commit drop as select 随后我在视图中使用这个函数 当 selec
  • 使用 START WITH 和 CONNECT BY PRIOR 将查询从 oracle 迁移到 postgresql

    我正在将一个进程从 oracle 迁移到 postgresql 并且在它们的转换方面遇到了另一个问题 我一直在研究如何迁移oracle查询 它有 START WITH 和 CONNECT BY PRIOR 我已经对此进行了记录 我认为最简单
  • Spring:如何将 KeyHolder 与 PostgreSQL 一起使用

    最近迁移到 POSTGRESQL 我试图获取在数据库表中创建新条目时唯一生成的密钥 桌子screenstable看起来像这样 CREATE TABLE screenstable id serial NOT NULL screenshot b
  • 如何在 Ubuntu 中使用 gems?

    我最近升级到 Ubuntu 9 04 但在使用 gems 时遇到问题 我使用 apt get 安装了 Ruby Rubygems 和 Rails 这rails命令确实有效 然后我安装了 capistrano 和其他 gem 例如 herok
  • 对时间序列数据重新采样

    我有一个以毫秒为单位的时间序列列表 我想对时间序列进行重新采样并对组应用平均值 我如何在 Postgres 中实现它 重新采样 是指聚合一秒或一分钟内的所有时间戳 一秒或一分钟内的所有行形成一组 表结构 date x y z Use dat
  • psycopg 错误,列不存在

    我不断收到这个 错误 psycopg2 ProgrammingError 列 someentry 不存在 该错误表明该列someentry不存在时someentry不是列 它只是要输入数据库的值 这是给出错误的代码 cur execute

随机推荐