Python/Linux - установка httplib2 вручную от имени пользователя без полномочий root
Я пытаюсь вручную установить httplib2 как пользователь без полномочий root на машине с Linux. Я делаю это вручную, потому что у меня нет прав для установки pip. Я загрузил файл httplib2-0.9.2.tar.gz с https://pypi.python.org/pypi/httplib2 на свою локальную машину (Mac) и использовал scp, чтобы перенести его на мою Linux-машину.
После распаковки файла tar.gz я запустил следующие команды:
[me@host ~]$ cd httplib2-0.9.2
[me@host httplib2-0.9.2]$ ls
MANIFEST.in PKG-INFO python2 python3 setup.cfg setup.py
[me@host httplib2-0.9.2]$ python setup.py install
running install
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
[Errno 13] Permission denied: '/usr/lib/python2.6/site-packages/test-easy-install-50310.write-test'
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/usr/lib/python2.6/site-packages/
Perhaps your account does not have write access to this directory? If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account. If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.
For information on other options, you may wish to consult the
documentation at:
http://peak.telecommunity.com/EasyInstall.html
Please make the appropriate changes for your system and try again.
Поскольку он сказал, что мне нужно установить в другой каталог, если я не являюсь пользователем root через --install-dir, я запустил:
[me@host httplib2-0.9.2]$ python setup.py install --install-dir /home/directory/me/
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: option --install-dir not recognized
Запуск '$python setup.py --help-commands' дал следующее:
Standard commands:
build build everything needed to install
build_py "build" pure Python modules (copy to build directory)
build_ext build C/C++ extensions (compile/link to build directory)
build_clib build C/C++ libraries used by Python extensions
build_scripts "build" scripts (copy and fixup #! line)
clean clean up temporary files from 'build' command
install install everything from build directory
install_lib install all Python modules (extensions and pure Python)
install_headers install C/C++ header files
install_scripts install scripts (Python or otherwise)
install_data install data files
sdist create a source distribution (tarball, zip file, etc.)
register register the distribution with the Python package index
bdist create a built (binary) distribution
bdist_dumb create a "dumb" built distribution
bdist_rpm create an RPM distribution
bdist_wininst create an executable installer for MS Windows
upload upload binary package to PyPI
Extra commands:
rotate delete older distributions, keeping N newest files
develop install package in 'development mode'
setopt set an option in setup.cfg or another config file
saveopts save supplied options to setup.cfg or other config file
egg_info create a distribution's .egg-info directory
upload_docs Upload documentation to PyPI
nosetests Run unit tests using nosetests
alias define a shortcut to invoke one or more commands
easy_install Find/get/install Python packages
bdist_egg create an "egg" distribution
install_egg_info Install an .egg-info directory for the package
test run unit tests after in-place build
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
Какую команду я должен использовать, чтобы продолжить установку httplib как пользователь без полномочий root? Полностью заблокирован из-за этой проблемы.
Заранее спасибо!
1 ответ
Вы на правильном пути. Обратите внимание на линию
The installation directory you specified (via --install-dir, --prefix, or ...
В этом случае вам нужно использовать --prefix
, Также вам нужно создать папку пакетов и export
это к PYTHONPATH
Так что это должно сделать это
INSTALL_DIR=${HOME}/.local
TREE=${INSTALL_DIR}/lib/python2.7/site-packages
mkdir -p ${TREE}
export PYTHONPATH=$PYTHONPATH:$TREE
python setup.py install --prefix=$INSTALL_DIR
Я нашел эту ссылку полезной.
редактировать
Или вы можете просто попробовать python setup.py install --user
, Смотрите схему пользователя