Я получаю доступ к своему серверу, который размещен в JustHost, через SSH, чтобы установить Selenium и выполнить некоторые операции по поиску в сети.

Однако я столкнулся с проблемой при попытке установить ее.

Судя по коду ошибки, я считаю, что мне нужно изменить разрешения для определенного каталога, хотя мои права ограничены, так как я купил общий хостинг, поэтому мне интересно:

  1. действительно ли это действительно вопрос разрешений?
  2. если да, на что я должен изменить разрешения?
  3. и, наконец, есть ли способ обойти ограниченные привилегии?

Попытка установить селен

Журнал

antonfa1@pillar.fyi [~]# 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'

права доступа

antonfa1@pillar.fyi [/usr/lib/python2.6/site-packages]# ls -l selenium /bin /ls: невозможно получить доступ к селену: нет такого файла или каталога

Итак, очевидно, каталог (и пакет?) пропал, отсутствует.

Когда я иду обновить пип, я получаю ту же ошибку.

ошибка

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

права доступа

antonfa1@pillar.fyi [/usr]# ls -l /usr/bin/pip -rwxr-xr-x 1 root root 281 Jul 1 2015 /usr/bin/pip*

Поэтому я попытался установить Selenium с помощью pip install --user selenium и вот что вошло в консоль:

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

Будет ли InsecurePlatformWarning связываться с операциями позже?

1 ответ1

1

Это определенно проблема с разрешениями, и вы не сможете изменить разрешения для корневого каталога без доступа к себе. Однако есть несколько вещей, которые вы можете сделать, чтобы установить Selenium без прав root:

Вы можете попробовать запустить pip с флагом --user который установит пакет в ваш домашний каталог, а не в /usr/lib/python2.6, который используется по умолчанию. Так вот:

pip install --user selenium

В качестве альтернативы, вы также можете скачать исходный дистрибутив из Pypi (если вы в порядке с последней версией Selenium), распаковать каталог, cd в него и запустить:

python setup.py install

Эта последняя команда не должна требовать root-доступа для завершения установки.


Изменить: Теперь, когда вы установили Selenium с первым предоставленным параметром и получили эту ошибку, я немного ее исправлю.

Эта ошибка не связана напрямую с выбранным вами методом установки. По сути, это общее сообщение о вашей версии Python. Более старые версии python 2 не поддерживают SNI в своем модуле ssl и в целом менее защищены. В идеале вам следует обратиться к этому руководству на urllib3 и попытаться устранить ошибку, которую вы можете сделать без доступа.

Если вы хотите пропустить все это, вы можете попробовать перейти на Python 3, если это работает для вас. Проверьте, доступен ли python 3 на этой машине, запустив python --version . Вам нужно будет повторить шаги установки, используя команды python3 и pip3 . т.е. python3 setup.py install .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .