Запуск пакетов python из локального каталога пользователя
Я на общем хостинге с ограниченным доступом по SSH.
У меня нет привилегий sudo.
И есть некоторые ограничения на некоторые папки, а именно:
Это вывод терминологии ls -al
:
drwx--x--x 17 myusername myusername 4096 May 23 03:02 .
drwxr-xr-x 3 root root 4096 Mar 27 11:02 ..
lrwxrwxrwx 1 myusername myusername 34 Mar 27 01:31 access-logs -> /usr/local/apache/domlogs/myusername
-rw------- 1 myusername myusername 640 Mar 29 23:56 .bash_history
-rw-r--r-- 1 myusername myusername 18 Oct 14 2014 .bash_logout
-rw-r--r-- 1 myusername myusername 176 Oct 14 2014 .bash_profile
-rw-r--r-- 1 myusername myusername 124 Oct 14 2014 .bashrc
drwxrwx--x 4 myusername myusername 4096 Mar 27 11:02 .cagefs
drwxr-xr-x 2 myusername myusername 4096 Mar 27 01:21 .cl.selector
-rw------- 1 myusername myusername 21 Mar 27 01:21 .contactemail
drwx------ 5 myusername myusername 4096 Mar 31 18:49 .cpanel
-rw-r----- 1 myusername myusername 1 Mar 31 18:14 cpbackup-exclude.conf
drwxr-x--- 2 myusername mail 4096 Mar 31 20:25 etc
-rw------- 1 myusername myusername 16 Apr 29 02:50 .ftpquota
-rw-r--r-- 1 myusername myusername 140 Mar 27 01:21 .gemrc
drwxr-x--- 2 myusername nobody 4096 Mar 27 01:21 .htpasswds
-rw------- 1 myusername myusername 13 Mar 31 18:46 .lastlogin
drwx------ 2 myusername myusername 4096 May 17 02:05 logs
drwxr-x--- 8 myusername myusername 4096 Mar 27 01:21 mail
-rw------- 1 myusername myusername 44 Mar 27 16:26 .my.cnf
drwxrwxr-x 2 myusername myusername 4096 Mar 29 11:33 perl5
drwxr-x--- 3 myusername myusername 4096 Mar 27 01:21 public_ftp
drwxr-xr-x 6 myusername nobody 4096 May 25 20:23 public_html
drwx--x--x 4 myusername myusername 4096 Mar 27 01:54 .softaculous
drwx------ 2 myusername myusername 4096 Mar 29 11:30 .ssh
drwxr-xr-x 5 myusername myusername 4096 Mar 31 18:14 ssl
drwxr-xr-x 8 myusername myusername 4096 Mar 29 20:24 tmp
drwx------ 2 myusername myusername 4096 Mar 27 16:22 .trash
lrwxrwxrwx 1 myusername myusername 11 Mar 27 01:21 www -> public_html
Моя цель - установка пакетов Python с использованием PIP и Virutalenv.
И из-за ограничений я пытаюсь использовать метод sudo-free для установки PIP и Virtualenv в локальный пользователь, следуя этому руководству!
=============
Эти шаги прошли хорошо:
$wget https://bootstrap.pypa.io/ez_setup.py -O - | python - --user
и ответ от сервера был:
...........
...........
Processing setuptools-16.0-py2.6.egg
Copying setuptools-16.0-py2.6.egg to /home/myusername/.local/lib/python2.6/site-packages
Adding setuptools 16.0 to easy-install.pth file
Installing easy_install script to /home/myusername/.local/bin
Installing easy_install-2.6 script to /home/myusername/.local/bin
Installed /home/myusername/.local/lib/python2.6/site-packages/setuptools-16.0-py2.6.egg
Processing dependencies for setuptools==16.0
Finished processing dependencies for setuptools==16.0
И этот шаг также:
$wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O - | python - --user
............
............
Installing collected packages: pip, argparse, wheel
Successfully installed argparse-1.3.0 pip-7.0.1 wheel-0.24.0
Теперь мой вопрос:
Как я могу запустить эти пакеты?:D
как видите, у меня нет доступа к папке ~/.local/
, НЕ появляются в ls -al
как вы видели выше!
И писать pip
в терминале SSH выдает мне:
$ pip
-bash: pip: command not found
$ python pip
python: can't open file 'pip': [Errno 2] No such file or directory
$ cd /.local/
-bash: cd: /.local/: No such file or directory
$ /.local/bin/pip
-bash: /.local/bin/pip: No such file or directory
$ python /.local/bin/pip
python: can't open file '/.local/bin/pip': [Errno 2] No such file or directory
Извините, если мой вопрос сбил с толку или был недостаточно ясен!
1 ответ
Для использования pip установите
$ mkdir my_project_folder
$ cd my_project_folder
$ curl -L -o virtualenv.py https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python virtualenv.py venv
$ source venv/bin/activate
На этом этапе у вас есть готовность к virtualenv. Если вы хотите установить больше пакетов, вы можете сделать следующее:
$ pip install YOUR_PACKAGE --user
Таким образом, вы можете устанавливать пакеты, не касаясь системных каталогов Python, как правило, в ~/.local/