在没有root权限的情况下安装Python软件包

10
我想在我使用的服务器上安装Python包networkx,我在提问之前进行了搜索,它说要使用:

pip install networkx

pip install --user networkx

但它无法工作,Linux的错误是

Usage: /usr/bin/pip install [OPTIONS] PACKAGE_NAMES...

/usr/bin/pip install: error: no such option: --user

有人可以帮忙吗?我该如何在服务器上安装networkx 包?

3个回答

8
如果服务器上已经安装了virtualenv,您可以创建一个虚拟环境:
virtualenv your_env_name

然后激活它:
source your_env_name/bin/activate

然后通过以下方式安装您所需的所有软件包

pip install packagename

然而,如果您还没有安装virtualenv,您应该查看此主题,已经回答了相同的问题。
为每个项目使用单独的virtualenv仍然是更好的选择,因为这样您可以轻松地使用以下命令导出所需的依赖:
pip freeze > requirements.txt

您可以将这个requirements.txt文件添加到您的版本控制中,稍后,如果您想在另一台机器上安装您的项目,您可以一次性安装所有依赖项,而不需要处理版本号等问题。
pip install -r requirements.txt

5
也许你需要更新pip的版本?我的1.1版本按预期工作。
$ pip install --version
pip 1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
$ pip install --user networkx
Requirement already satisfied (use --upgrade to upgrade): networkx in /home/aric/.local/lib/python2.7/site-packages

您可以按照以下步骤升级pip(也可以在这里查看详细说明:http://www.pip-installer.org/en/latest/installing.html

$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py

$ python get-pip.py --user
Downloading/unpacking pip from https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz#md5=6afbb46aeb48abac658d4df742bff714
  Downloading pip-1.4.1.tar.gz (445kB): 445kB downloaded
  Running setup.py egg_info for package pip

    warning: no files found matching '*.html' under directory 'docs'
    warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
    no previously-included directories found matching 'docs/_build/_sources'
Installing collected packages: pip
  Running setup.py install for pip

    warning: no files found matching '*.html' under directory 'docs'
    warning: no previously-included files matching '*.rst' found under directory 'docs/_build'
    no previously-included directories found matching 'docs/_build/_sources'
    Installing pip script to /home/aric/.local/bin
    Installing pip-2.7 script to /home/aric/.local/bin
Successfully installed pip
Cleaning up...
$ pip --version
pip 1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
$ ~/.local/bin/pip --version
pip 1.4.1 from /home/aric/.local/lib/python2.7/site-packages (python 2.7)

4

使用virtualenv创建本地python环境,这样您就不需要root访问权限。

还有其他在virtualenv之上的工具,如pyenv,更易于使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接