R, dplyr e o Debian Jessie

Contexto: Estou fazendo o curso “Getting & Cleanning Data” do Coursera. O Curso é orientado à utilização da linguagem de programação R, e há a recomendação que se utilize a biblioteca ‘dplyr’ do R para manipulação dos dados.

Porém, a versão atual (26/07/2015) da biblioteca dplyr exige a versão 3.2.1 do R, e no debian Jessia (atual versão estável) o R está na versão 3.1.1. Assim, é preciso atualizar a versão do R para se poder utilizar a biblioteca dplyr. Então vamos ao processo de atualização do R e instalação da biblioteca dplyr.

Atualizando a versão do R

Para atualizarmos o R precisaremos de um novo repositório de pacotes. Então precisamos adicionar, ao arquivo “/etc/apt/sources.list” a seguinte linha:

# R PACKAGES
deb http://www.vps.fmvz.usp.br/CRAN/bin/linux/debian jessie-cran3/

Este repositório não tem sua chave-pública inserida no repositório de chaves que o Debian utiliza, então precisamos baixar a chave pública para evitar mensagens de erro, fazemos isso com os comandos (executados como usuário root):

gpg –keyserver keyserver.ubuntu.com –recv 06F90DE5381BA480
gpg –export –armor 06F90DE5381BA480  | apt-key add –

Agora basta atualizarmos a versão dos pacotes:

aptitude update
aptitude safe-upgrade

Pronto, agora devemos ter o R já na versão 3.2.1 em nossas máquinas.

Atualizando pacotes do R

O próximo passo é atualizar todos os pacotes do R instalados em sua máquina. Para isso, rode o comando abaixo no R ou no RStudio:

update.packages(.libPaths()[1])

O pacote dplyr exige uma versão atualizada do pacote Rcpp (>= 0.12), porém a versão disponível no repositório debian é inferior a esta versão. Então precisamos removê-la pelo gerenciador de pacote do debian (apt ou aptitude) e,  em seguida, instalá-la pelo próprio R (que irá buscar a versão mais atual).

Assim, para desinstalar utilizamos, no console (terminal), o comando:

aptitude remove -y Rcpp

 E para instalar pelo R, executamos o comando (no console do R):

install.packages(‘Rcpp’)

Pronto, agora podemos realizar a instalação do dplyr.

install.packages(‘dplyr’)

 

Managing IPython notebook server via systemd: Part-I

Original Post by Amit on echorand

Other reference that helped setting up the server: http://thomassileo.com/blog/2012/11/19/setup-a-remote-ipython-notebook-server-with-numpyscipymaltplotlibpandas-in-a-virtualenv-on-ubuntu-server/


If you are using IPython notebook on a Linux distribution which uses systemd as it’s process manager (such as Fedora Linux, Arch Linux) , you may find this post useful. I will describe a fairly basic configuration to manage (start/stop/restart) IPython notebook server using systemd.

Creating the Systemd unit file

First, we will create the systemd unit file. As root user, create a new file /usr/lib/systemd/system/ipython-notebook.service and copy the following contents into it:

[Unit]
Description=IPython notebook

[Service]
Type=simple
PIDFile=/var/run/ipython-notebook.pid
ExecStart=/usr/bin/ipython notebook –no-browser –pylab=inline
User=ipynb
Group=ipynb
WorkingDirectory=/home/ipynb/notebooks

[Install]
WantedBy=multi-user.target

Note that due to the naming of our unit file, the service will run as ipython-notebook. To completely understand the above unit file, you will need to read up a little of the topic. You may find my earlier post useful which also has links to systemd resources. Three things deserve explanation though:

The line, ExecStart=/usr/bin/ipython notebook --no-browser --pylab=inline specifies the command to start the IPython notebook server. This should be familiar to someone who uses it.

The lines, User=ipynb and Group=ipynb specify that we are going to run this process as user/group ipynb (we create them in the next step).

The line WorkingDirectory=/home/ipynb/notebooks specify that the notebooks will be stored/server in/from /home/ipynb/notebooks

Setting up the user

As root, create the user ipynb:

# useradd ipynb

Next, as ipynb, create a sub-directory, notebooks:


# su - ipynb
[ipynb@localhost ~]$ mkdir notebooks
[ipynb@localhost ~]$ exit

Starting IPython notebook

We are all set now to start IPython notebook. As the root user, reload all the systemd unit files, enable the ipython-notebook service so that it starts on boot, and then start the service:


# systemctl daemon-reload
# systemctl enable ipython-notebook
ln -s '/usr/lib/systemd/system/ipython-notebook.service' '/etc/systemd/system/multi-user.target.wants/ipython-notebook.service'
# systemctl start ipython-notebook

If you check the status of the service, it should show the following:

# systemctl status ipython-notebook
ipython-notebook.service – IPython notebook
Loaded: loaded (/usr/lib/systemd/system/ipython-notebook.service; enabled)
Active: active (running) since Sun 2013-09-22 22:39:59 EST; 23min ago
Main PID: 3671 (ipython)
CGroup: name=systemd:/system/ipython-notebook.service
├─3671 /usr/bin/python /usr/bin/ipython notebook –no-browser –pylab=inline
└─3695 /usr/bin/python -c from IPython.zmq.ipkernel import main; main() -f /home/ipynb/.ipython/profile_default/security/kernel-6dd8b338-e779-4e67-bf25-1cd238…

Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] Serving notebooks from /home/ipynb/notebooks
Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/
Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] Use Control-C to stop this server and shut down all kernels.
Sep 22 22:40:21 localhost ipython[3671]: [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Kernel started: 6dd8b338-e779-4e67-bf25-1cd23884cf5a
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Connecting to: tcp://127.0.0.1:51666
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Connecting to: tcp://127.0.0.1:52244
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Connecting to: tcp://127.0.0.1:44667
Sep 22 22:40:22 localhost ipython[3671]: [IPKernelApp] To connect another client to this kernel, use:
Sep 22 22:40:22 localhost ipython[3671]: [IPKernelApp] –existing kernel-6dd8b338-e779-4e67-bf25-1cd23884cf5a.json

You should now be able to access IPython notebook as you would normally do. Finally, you can stop the server as follows:


# systemctl stop ipython-notebook

The logs are redirected to /var/log/messages:


Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] Created profile dir: u'/home/ipynb/.ipython/profile_default'
Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] Serving notebooks from /home/ipynb/notebooks
Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/
Sep 22 22:39:59 localhost ipython[3671]: [NotebookApp] Use Control-C to stop this server and shut down all kernels.
Sep 22 22:40:21 localhost ipython[3671]: [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Kernel started: 6dd8b338-e779-4e67-bf25-1cd23884cf5a
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Connecting to: tcp://127.0.0.1:51666
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Connecting to: tcp://127.0.0.1:52244
Sep 22 22:40:22 localhost ipython[3671]: [NotebookApp] Connecting to: tcp://127.0.0.1:44667
Sep 22 23:05:35 localhost ipython[3671]: [NotebookApp] received signal 15, stopping
Sep 22 23:05:35 localhost ipython[3671]: [NotebookApp] Shutting down kernels
Sep 22 23:05:35 localhost ipython[3671]: [NotebookApp] Kernel shutdown: 6dd8b338-e779-4e67-bf25-1cd23884cf5a

For me, the biggest reason to do this is that I do not have to start the IPython notebook server everytime on system startup manually, since I know it will be running when I need to use it. I plan to explore managing custom profiles next and also think more about a few other things.

Python/Django Social Auth

http://www.artandlogic.com/blog/2014/04/tutorial-adding-facebooktwittergoogle-authentication-to-a-django-application/

 

Fixing google-oauth2 403 error:

http://es.axiacore.com/blog/como-arreglar-el-error-403-de-python-social-auth-con-google/

Debian Bluetooth Headphone e AD2P

Links de referência para configurar seu headphone bluetooth utilizando AD2P (melhor qualidade de áudio) no Debian.

https://wiki.debian.org/BluetoothUser/a2dp

https://www.debian-administration.org/users/dammitjim/weblog/2

(Se estiver com problemas para conectar o headphone com o computador veja este link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743568 )

InternetBanking: Banco do Brasil e GNU/Linux

Finalmente encontrei uma solução (não definitiva) para acessar o Banco do Brasil em sistemas GNU/Linux!

A solução foi testada num sistema operacional Debian Jessie (8), com o Java da Oracle – mais tarde testo com o OpenJDK e retorno aqui se funcionou.

Não vou ficar explicando os motivos da solução, se alguém quiser mais detalhes sugiro dar uma olhada nos links abaixo que tem bastante informação!

A solução

Resumidamente, basta rodar seu navegador pela linha de comando da seguinte forma: Continue lendo InternetBanking: Banco do Brasil e GNU/Linux

%d blogueiros gostam disto: