当前位置: 首页 > 面试题库 >

如何在Linux上使用pip为所有用户安装模块?

端木野
2023-03-14
问题内容

如何在标准的python环境中安装软件包, /usr/local/lib/python2.7/dist- packages使用pip新的软件包并使所有用户可以使用该新软件包,而无需使用virtualenv

通过使用以下内容,该软件包仅以root权限安装:

$ sudo pip install loremipsum
Downloading/unpacking loremipsum
  Downloading loremipsum-1.0.5.tar.gz
  Running setup.py (path:/tmp/pip_build_root/loremipsum/setup.py) 
  egg_info for package loremipsum

Installing collected packages: loremipsum
  Running setup.py install for loremipsum

Successfully installed loremipsum
Cleaning up...

证明:

$ python -c 'import loremipsum'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named loremipsum

$ sudo python -c 'import loremipsum'

$ pip install loremipsum
Requirement already satisfied (use --upgrade to upgrade): loremipsum in 
/usr/local/lib/python2.7/dist-packages
Cleaning up...

$ cowsay sad
 _____
< sad >
 -----
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

请不要建议我apt-get install python-...改用。我想知道我的错误以及如何正确使用点子。

$ python --version
Python 2.7.6
$ pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
$ uname -a
Linux _ 3.19.0-32-generic #37~14.04.1-Ubuntu SMP _ x86_64 GNU/Linux

编辑

我猜问题是因为pip不允许小组和所有人阅读已安装的内容:

$ sudo pip uninstall loremipsum
Uninstalling loremipsum:
  /usr/local/lib/python2.7/dist-packages/loremipsum-1.0.5.egg-info
  /usr/local/lib/python2.7/dist-packages/loremipsum/__init__.py
  /usr/local/lib/python2.7/dist-packages/loremipsum/__init__.pyc
  /usr/local/lib/python2.7/dist-packages/loremipsum/default/dictionary.txt
  /usr/local/lib/python2.7/dist-packages/loremipsum/default/sample.txt
  /usr/local/lib/python2.7/dist-packages/loremipsum/generator.py
  /usr/local/lib/python2.7/dist-packages/loremipsum/generator.pyc
Proceed (y/n)? y
  Successfully uninstalled loremipsum

$ sudo pip install loremipsum
Downloading/unpacking loremipsum
  Downloading loremipsum-1.0.5.tar.gz
  Running setup.py (path:/tmp/pip_build_root/loremipsum/setup.py) egg_info for package loremipsum

Installing collected packages: loremipsum
  Running setup.py install for loremipsum

Successfully installed loremipsum
Cleaning up...
$ sudo ls -al /usr/local/lib/python2.7/dist-packages/loremipsum
total 60
drwxr-s---  3 root staff  4096 Apr 27 22:06 .
drwxrwsr-x 18 root staff  4096 Apr 27 22:06 ..
drwxr-s---  2 root staff  4096 Apr 27 22:06 default
-rw-r-----  1 root staff 16182 Apr 27 22:06 generator.py
-rw-r-----  1 root staff 16323 Apr 27 22:06 generator.pyc
-rw-r-----  1 root staff  6130 Apr 27 22:06 __init__.py
-rw-r-----  1 root staff  6869 Apr 27 22:06 __init__.pyc

问题答案:

你可能有一个错误的umask设定所讨论这里

从您的上一次编辑,我想您umask已设置为027。试着做

sudo pip uninstall loremipsum
umask 022
sudo pip install loremipsum


 类似资料:
  • 问题内容: 我试图使用pip在ubuntu上安装django。但不幸的是我遇到了这样的错误。有人可以解释一下并告诉我一些解决方法吗? 问题答案: 不要使用sudo而是使用虚拟环境,如下所示: 完成后;键入deactivate以退出虚拟环境:

  • 问题内容: 如何使用pip为Python 安装MySQLdb模块? 问题答案: 这很容易,但是很难记住正确的拼写: 如果您需要1.2.x版本(仅限旧版Python),请使用 注意:运行上述命令时,某些依赖项可能必须存在。关于如何在各种平台上安装这些的一些提示: Ubuntu 14,Ubuntu 16,Debian 8.6(jessie) Fedora 24: 苹果系统 如果失败,请尝试

  • 问题内容: 我想使用命令安装numpy,但出现以下错误: 我正在使用Windows 7 32位,python 2.7.9,pip 6.1.1和一些MSVC编译器。我认为它使用Visual C ++ 2010 Express中的编译器,但实际上我不确定是哪个版本,因为我安装了多个Visual Studio。 我知道有用于Windows的预编译软件包,但是我想弄清楚是否有某种方法可以通过键入? 编辑:

  • 我正在尝试安装一个名为Scrapy的模块。我是用电脑安装的 我在my/usr/local/lib/python2中看到了“scrapy”文件夹。7/site包,但当我尝试在Python程序中导入它时,它说没有这个名称的模块。你知道为什么会这样吗? 编辑:以下是pip命令的输出: 当我运行 /usr/local/bin/scrapy我得到命令和可用命令的用法。我注意到我的 /usr/local/bi

  • 我下载了Python 3.6.1,它预装了Pip。我写了这个命令来安装Numpy 我得到了这个作为输出: 收集Numpy无法获取URLhttps://pypi.python.org/simple/numpy/:确认ssl证书时出现问题:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl. c: 749)-跳过无法找到满足要求的版本Numpy(来自版本:)麻木 我如

  • 我正在尝试使用pip安装请求模块,但我不确定我是否做得对。我在windows上打开命令提示符(windows key r,输入“cmd”并按回车键)。我已经安装了pip,但当我在命令提示符下输入“pip安装请求”时,它会说 当我去检查是否安装了pip时,就会出现这种情况 然后,我将python的路径添加到环境变量中,更改顶部和底部,希望命令提示符可以运行python程序。但当我转到命令提示符并键入