Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dificuldade na instalação #1

Open
travitzki opened this issue Mar 22, 2023 · 7 comments
Open

Dificuldade na instalação #1

travitzki opened this issue Mar 22, 2023 · 7 comments

Comments

@travitzki
Copy link

Olá Sidney,
em primeiro lugar, parabéns pelo trabalho!

Eu particularmente estou com dificuldade em instalar o pacote, talvez por não conhecer o postgresql. Ou talvez não seja a versão atualizada do tutorial, não sei, parece que o arquivo requirements.txt mudou de pasta em relação ao que está no README.md.

Estou usando linux e até consegui rodar o comando indicado, mas aí deu um monte de erros / warnings. Deixo em anexo o log com o comando e o output, quem sabe pode ser útil.

log.txt

Abraço, Rodrigo

@sidleal
Copy link
Owner

sidleal commented Mar 22, 2023

Olá Rodrigo, obrigado.

Pelo log, parece que a restauração da base já aconteceu e você está tentando rodar uma segunda vez.

De qualquer forma, minha sugestão é que você use o Docker pra rodar a base (e até o NILC-Metrix também), para sistemas legados ele ajuda bastante, pois as libs ficam congeladas no tempo... no caso da base, simulei aqui a criação do container e restauração (ver log a seguir). Antes do ponto inicial eu só baixei e descompactei a pasta tools em Downloads. Note que na minha execução também deu 3 erros, mas importou corretamente a base.

Os comandos que usei, na ordem que aparecem no log, foram:

entra na pasta onde tem o arquivo pra restaurar:
cd tools/postgres/

lista só pra conferir se o arquivo está lá:
ls

baixa e executa o container com o postgres:
docker run --name pgs_cohmetrix -e POSTGRES_USER=cohmetrix -v /home/sidney/Downloads/tools/postgres/:/shared -e POSTGRES_PASSWORD=cohmetrix -d postgres

lista os containers que estão rodando pra conferir:
docker ps

entra no container:
docker exec -ti pgs_cohmetrix bash

muda pra pasta compartilhada:
cd /shared/

lista pra conferir:
ls

faz a restauração do backup:
pg_restore -U cohmetrix -d cohmetrix cohmetrix_pt_br

entra no console do postgres pra conferir:
psql -U cohmetrix

lista as bases:
\l

conecta na base cohmetrix (que foi restaurada):
\c cohmetrix;

lista as tabelas:
\dt

lista os 10 primeiros registros de uma tabela pra conferir:
select * from delaf_nouns limit 10;

sai do postgres:
\q

sai do container:
exit

Log completo:

sidney@vm1:~/Downloads$ cd tools/postgres/
sidney@vm1:~/Downloads/tools/postgres$ ls
cohmetrix_pt_br  postgres.txt
sidney@vm1:~/Downloads/tools/postgres$ docker run --name pgs_cohmetrix -e POSTGRES_USER=cohmetrix -v /home/sidney/Downloads/tools/postgres/:/shared -e POSTGRES_PASSWORD=cohmetrix -d postgres
Unable to find image 'postgres:latest' locally
latest: Pulling from library/postgres
3f9582a2cbe7: Pull complete 
0d9d08fc1a1a: Pull complete 
ecae4ccb4d1b: Pull complete 
e75693e0d7a5: Pull complete 
1b6d5aead1a8: Pull complete 
f2aa67d9a6b2: Pull complete 
7a3ec0371e36: Pull complete 
704d9d1b662d: Pull complete 
a6e09efc43e8: Pull complete 
cb87a0a6528d: Pull complete 
3e290cb732cd: Pull complete 
d44d65eaede3: Pull complete 
0c2430d596bb: Pull complete 
Digest: sha256:50a96a21f2992518c2cb4601467cf27c7ac852542d8913c1872fe45cd6449947
Status: Downloaded newer image for postgres:latest
b5533898599388f19a4b14c8f0ad06aa361cd9a620dbe865ba71f39f061069bf
sidney@vm1:~/Downloads/tools/postgres$ docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED          STATUS          PORTS      NAMES
b55338985993   postgres   "docker-entrypoint.s…"   26 seconds ago   Up 23 seconds   5432/tcp   pgs_cohmetrix
sidney@vm1:~/Downloads/tools/postgres$ docker exec -ti pgs_cohmetrix bash
root@b55338985993:/# cd /shared/
root@b55338985993:/shared# ls
cohmetrix_pt_br  postgres.txt
root@b55338985993:/shared# pg_restore -U cohmetrix -d cohmetrix cohmetrix_pt_br
pg_restore: error: could not execute query: ERROR:  schema "public" already exists
Command was: CREATE SCHEMA public;

pg_restore: error: could not execute query: ERROR:  role "postgres" does not exist
Command was: ALTER SCHEMA public OWNER TO postgres;

pg_restore: error: could not execute query: ERROR:  role "postgres" does not exist
Command was: REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;


pg_restore: warning: errors ignored on restore: 3
root@b55338985993:/shared# 
root@b55338985993:/shared# psql -U cohmetrix
psql (15.2 (Debian 15.2-1.pgdg110+1))
Type "help" for help.

cohmetrix=# \l
                                                  List of databases
   Name    |   Owner   | Encoding |  Collate   |   Ctype    | ICU Locale | Locale Provider |    Access privileges    
-----------+-----------+----------+------------+------------+------------+-----------------+-------------------------
 cohmetrix | cohmetrix | UTF8     | en_US.utf8 | en_US.utf8 |            | libc            | 
 postgres  | cohmetrix | UTF8     | en_US.utf8 | en_US.utf8 |            | libc            | 
 template0 | cohmetrix | UTF8     | en_US.utf8 | en_US.utf8 |            | libc            | =c/cohmetrix           +
           |           |          |            |            |            |                 | cohmetrix=CTc/cohmetrix
 template1 | cohmetrix | UTF8     | en_US.utf8 | en_US.utf8 |            | libc            | =c/cohmetrix           +
           |           |          |            |            |            |                 | cohmetrix=CTc/cohmetrix
(4 rows)

cohmetrix=# \c cohmetrix;
You are now connected to database "cohmetrix" as user "cohmetrix".
cohmetrix=# \dt
              List of relations
 Schema |      Name       | Type  |   Owner   
--------+-----------------+-------+-----------
 public | connectives     | table | cohmetrix
 public | delaf_nouns     | table | cohmetrix
 public | delaf_verbs     | table | cohmetrix
 public | delaf_words     | table | cohmetrix
 public | frequencies     | table | cohmetrix
 public | hypernyms_verbs | table | cohmetrix
 public | tep_words       | table | cohmetrix
(7 rows)

cohmetrix=# select * from delaf_nouns limit 10;
    word     |   lemma    | pos | morf 
-------------+------------+-----+------
 Gloria      | Gloria     | N   | ms
 a           | a          | N   | ms
 aba         | aba        | N   | fs
 abacado     | abacado    | N   | ms
 abacados    | abacado    | N   | mp
 abacate     | abacate    | N   | ms
 abacateiro  | abacateiro | N   | ms
 abacateiros | abacateiro | N   | mp
 abacates    | abacate    | N   | mp
 abacaxi     | abacaxi    | N   | ms
(10 rows)

cohmetrix=# \q
root@b55338985993:/shared# exit
exit
sidney@vm1:~/Downloads/tools/postgres$ 

@travitzki
Copy link
Author

Oi Sidney, super obrigado!
Os códigos funcionaram perfeitamente e a base realmente já tinha sido importada, como você disse.

Agora vou tentar rodar o NILCmetrix usando o docker. Para isso a ideia é usar o container que você criou (pgs_cohmetrix)?

Novamente obrigado!

@sidleal
Copy link
Owner

sidleal commented Mar 24, 2023

Olá Rodrigo.
Na raiz do projeto você vai encontrar um build.sh que cria a imagem do container com as dependências, em seguida use o build-nilcmetrix.sh que cria o container do nilcmetrix em si. Tem exemplo de como executar o container no run.sh.

Ah, o código atual tem uma dependência do parser PALAVRAS que é proprietário, se você não tiver acesso a esse parser, não vai conseguir extrair algumas métricas, mas a maioria funciona sem ele. Na documentação das métricas tem quais dependem dele: http://fw.nilc.icmc.usp.br:23380/metrixdoc

@travitzki
Copy link
Author

Oi Sidney, novamente muito obrigado!

Consegui rodar o build.sh, só precisei tirar a linha IDD3 do requirements.txt, por que estava dando esse erro:
log2.txt

Mas não consegui rodar o build-nilcmetrix.sh, deu o seguinte erro:
log3.txt

Também tentei instalar as dependências sem o docker, seguindo as instruções do README e os comandos pip3 que não especificam versão dos pacotes. Deu tudo certo, mas não encontrei a variável BASE_DIR, em nenhum dos arquivos da pasta /text_metrics (nem nada parecido).

Até tentei importar o pacote no python, mas deu esse erro:
log4.txt

Espero que essas informações possam ser úteis.

@sidleal
Copy link
Owner

sidleal commented Mar 27, 2023

Opa... O build-nilcmetrix.sh precisa de um parâmetro, que é uma versão pra imagem que ele vai gerar, use build-nilcmetrix.sh 1.0 e a cada vez que rodar vá incrementando: build-nilcmetrix.sh 1.1, build-nilcmetrix.sh 1.2, etc.

A BASE_DIR fica no arquivo config.py:

BASE_DIR = '/opt/text_metrics'

@travitzki
Copy link
Author

Muito obrigado, Sydney!

@sidleal
Copy link
Owner

sidleal commented May 3, 2023

Tirei a linha do idd3 que estava com problema e fiz 3 videozinhos com os passos pra criar os containers e executar o conjunto das métricas que não dependem do parser Palavras. Atualizei o readme principal também:

Part 1: Clone repository and download dependencies:
https://youtu.be/brBfOuTMOM0

Part 2: Create postgres container and restore database:
https://youtu.be/PR2dtr_FMBc

Part 3: Build main container and test (with set of metrics that not depends on Palavras parser):
https://youtu.be/GKQH_1jrmEo

sidleal added a commit that referenced this issue Oct 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants