Instalando / Atualizando Programas no Servidor

0

Estou acessando meu servidor, que é hospedado pelo JustHost, por meio de um SSH para instalar o Selenium para fazer alguma extração da web.

Encontrei um problema ao tentar instalá-lo, no entanto.

A julgar pelo código de erro, acredito que preciso alterar as permissões de um diretório específico, embora meus privilégios sejam limitados desde que comprei hospedagem compartilhada, por isso estou pensando:

  1. se é ou não uma questão de permissões?
  2. se sim, o que devo alterar as permissões para?
  3. e, por fim, há alguma maneira de contornar os privilégios limitados?

Tentativa de instalar o selênio

Log

[email protected] [~]# pip install selenium You are using pip version 7.1.0, however version 10.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting selenium Using cached https://files.pythonhosted.org/packages/57/bc/17164fd471ccdf0df3a992c710c0c3c47743462ff41ab72a02c6ede96e90/selenium-3.12.0-py2.py3-none-any.whl Installing collected packages: selenium Exception: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pip/basecommand.py", line 223, in main status = self.run(options, args) File "/usr/lib/python2.6/site-packages/pip/commands/install.py", line 308, in run strip_file_prefix=options.strip_file_prefix, File "/usr/lib/python2.6/site-packages/pip/req/req_set.py", line 646, in install **kwargs File "/usr/lib/python2.6/site-packages/pip/req/req_install.py", line 816, in install strip_file_prefix=strip_file_prefix File "/usr/lib/python2.6/site-packages/pip/req/req_install.py", line 1013, in move_wheel_files strip_file_prefix=strip_file_prefix, File "/usr/lib/python2.6/site-packages/pip/wheel.py", line 339, in move_wheel_files clobber(source, lib_dir, True) File "/usr/lib/python2.6/site-packages/pip/wheel.py", line 310, in clobber ensure_dir(destdir) File "/usr/lib/python2.6/site-packages/pip/utils/__init__.py", line 70, in ensure_dir os.makedirs(path) File "/usr/lib64/python2.6/os.py", line 157, in makedirs mkdir(name, mode) OSError: [Errno 30] Read-only file system: '/usr/lib/python2.6/site-packages/selenium'

Permissões

[email protected] [/usr/lib/python2.6/site-packages]# ls -l selenium / bin / ls: não pode acessar o selênio: não existe esse arquivo ou diretório

Então, obviamente, o diretório (e o pacote?) está faltando.

Quando vou atualizar o pip, recebo exatamente o mesmo erro.

Erro

OSError: [Errno 30] Read-only file system: '/usr/bin/pip'

Permissões

[email protected] [/usr]# ls -l /usr/bin/pip -rwxr-xr-x 1 root root 281 Jul 1 2015 /usr/bin/pip*

Então eu tentei instalar o Selenium via pip install --user selenium e aqui está o que o console logou:

Collecting selenium
/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Using cached https://files.pythonhosted.org/packages/57/bc/17164fd471ccdf0df3a992c710c0c3c47743462ff41ab72a02c6ede96e90/selenium-3.12.0-py2.py3-none-any.whl
Installing collected packages: selenium
Successfully installed selenium

A InsecurePlatformWarning estará com as operações mais tarde?

    
por user2230470 15.06.2018 / 23:26

1 resposta

1

Este é definitivamente um problema de permissões e você não poderá alterar as permissões em um diretório de propriedade da raiz sem ter acesso root por conta própria. No entanto, existem algumas coisas que você pode fazer para instalar o Selenium sem acesso root:

Você pode tentar executar pip com o --user flag que instalará o pacote em seu diretório pessoal, em vez de /usr/lib/python2.6 , que é o padrão. Então é isso:

pip install --user selenium

Como alternativa, você também pode fazer o download da distribuição de fontes em Pypi (se estiver tudo bem com a versão mais recente do Selenium), descompacte o diretório cd e execute:

python setup.py install

Este último comando não deve exigir acesso root para concluir a instalação.

Editar: Agora que você instalou o Selenium com a primeira opção fornecida e recebeu esse erro, vou dividi-lo um pouco.

Esse erro não está relacionado diretamente ao método de instalação específico que você escolheu. Em essência, é uma mensagem geral sobre sua versão do python. Versões mais antigas do python 2 carecem de suporte SNI em seu módulo ssl e são menos seguras no geral. Idealmente, você deve consultar este guia no urllib3 e tentar resolver o erro que você pode poder fazer sem acesso.

Se você quiser pular tudo isso, pode tentar mudar para o python 3 se isso funcionar para você. Verifique se o python 3 está disponível nessa máquina executando python --version . Você precisará repetir as etapas de instalação usando os comandos python3 e pip3 . ou seja, python3 setup.py install .

    
por 16.06.2018 / 01:34