在没有sudo权限的情况下在virtualenv中安装BeautifulSoup

时间:2012-10-12 18:23:33

标签: python virtualenv pip

当我尝试在virtualenv中安装BeautifulSoup和Yolk时,通过pip和trough下载了tar.gz球,我遇到了一个问题:

(ola)1x-193-157-193-184:beautifulsoup4-4.1.3 ola$ python setup.py install
running install
running build
running build_py
running install_lib
running install_egg_info
removing '/Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info' (and everything under it)
error removing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info/dependency_links.txt: Permission denied
error removing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info/installed-files.txt: Permission denied
error removing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info/PKG-INFO: Permission denied
error removing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info/SOURCES.txt: Permission denied
error removing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info/top_level.txt: Permission denied
error removing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: Permission denied
Writing /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info
error: /Library/Python/2.7/site-packages/beautifulsoup4-4.1.3-py2.7.egg-info: Is a directory

当我尝试通过pip安装时出现同样的问题:

(ola)1x-193-157-193-184:beautifulsoup4-4.1.3 ola$ pip install BeautifulSoup4
Downloading/unpacking BeautifulSoup4
  Downloading beautifulsoup4-4.1.3.tar.gz (131Kb): 131Kb downloaded
  Running setup.py egg_info for package BeautifulSoup4

Installing collected packages: BeautifulSoup4
  Running setup.py install for BeautifulSoup4
    error: could not delete '/Library/Python/2.7/site-packages/bs4/__init__.py': Permission denied
    Complete output from command /Users/ola/.virtualenvs/ola/bin/python -c "import setuptools;__file__='/Users/ola/.virtualenvs/ola/build/BeautifulSoup4/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/3z/xsfq9cfx6vb18z0n84xnbdd00000gn/T/pip-JmvSkh-record/install-record.txt --install-headers /Users/ola/.virtualenvs/ola/include/site/python2.7:
    running install

running build
running build_py
creating build
creating build/lib
creating build/lib/bs4
copying bs4/__init__.py -> build/lib/bs4
copying bs4/dammit.py -> build/lib/bs4
copying bs4/element.py -> build/lib/bs4
copying bs4/testing.py -> build/lib/bs4
creating build/lib/bs4/builder
copying bs4/builder/__init__.py -> build/lib/bs4/builder
copying bs4/builder/_html5lib.py -> build/lib/bs4/builder
copying bs4/builder/_htmlparser.py -> build/lib/bs4/builder
copying bs4/builder/_lxml.py -> build/lib/bs4/builder
creating build/lib/bs4/tests
copying bs4/tests/__init__.py -> build/lib/bs4/tests
copying bs4/tests/test_builder_registry.py -> build/lib/bs4/tests
copying bs4/tests/test_docs.py -> build/lib/bs4/tests
copying bs4/tests/test_html5lib.py -> build/lib/bs4/tests
copying bs4/tests/test_htmlparser.py -> build/lib/bs4/tests
copying bs4/tests/test_lxml.py -> build/lib/bs4/tests
copying bs4/tests/test_soup.py -> build/lib/bs4/tests
copying bs4/tests/test_tree.py -> build/lib/bs4/tests
running install_lib
copying build/lib/bs4/__init__.py -> /Library/Python/2.7/site-packages/bs4
error: could not delete '/Library/Python/2.7/site-packages/bs4/__init__.py': Permission denied
----------------------------------------
Command /Users/ola/.virtualenvs/ola/bin/python -c "import setuptools;__file__='/Users/ola/.virtualenvs/ola/build/BeautifulSoup4/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/3z/xsfq9cfx6vb18z0n84xnbdd00000gn/T/pip-JmvSkh-record/install-record.txt --install-headers /Users/ola/.virtualenvs/ola/include/site/python2.7 failed with error code 1 in /Users/ola/.virtualenvs/ola/build/BeautifulSoup4
Storing complete log in /Users/ola/.pip/pip.log

我的virtualenv安装有什么问题吗?关于virtualenv的好处是不是所有文件(Python和库)都是分开包含的?

---更新---

我试图制作一个新的virtualenv,我得到的只是这个错误信息:

Olas-MacBook-Pro:~ ola$ mkvirtualenv olaenv
New python executable in olaenv/bin/python
Installing setuptools.............................
  Complete output from command /Users/ola/.virtualenvs/olaenv/bin/python -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" /Users/ola/.venvburr...ols-0.6c11-py2.7.egg:
  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: '/Library/Python/2.7/site-packages/test-easy-install-88488.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /Library/Python/2.7/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://packages.python.org/distribute/easy_install.html

Please make the appropriate changes for your system and try again.

----------------------------------------
...Installing setuptools...done.
Traceback (most recent call last):
  File "/Users/ola/.venvburrito/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==1.7.2', 'console_scripts', 'virtualenv')()
  File "/Users/ola/.venvburrito/lib/python/virtualenv-1.7.2-py2.7.egg/virtualenv.py", line 942, in main
    never_download=options.never_download)
  File "/Users/ola/.venvburrito/lib/python/virtualenv-1.7.2-py2.7.egg/virtualenv.py", line 1052, in create_environment
    search_dirs=search_dirs, never_download=never_download)
  File "/Users/ola/.venvburrito/lib/python/virtualenv-1.7.2-py2.7.egg/virtualenv.py", line 598, in install_setuptools
    search_dirs=search_dirs, never_download=never_download)
  File "/Users/ola/.venvburrito/lib/python/virtualenv-1.7.2-py2.7.egg/virtualenv.py", line 570, in _install_req
    cwd=cwd)
  File "/Users/ola/.venvburrito/lib/python/virtualenv-1.7.2-py2.7.egg/virtualenv.py", line 1020, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/ola/.virtualenvs/olaenv/bin/python -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" /Users/ola/.venvburr...ols-0.6c11-py2.7.egg failed with error code 1
Olas-MacBook-Pro:~ ola$ 

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

如果它是virtualenv的旧版本,`--no-site-packages'直到最近才默认(2011-11-30版本1.7)。在创建virtualenv时尝试显式使用该标志。

mkvirtualenv olaenv --no-site-packages

答案 1 :(得分:0)

简而言之:您必须使用sudo

安装virtualenv

这就是我的表现:

  • sudo pip卸载virtualenv(为了进行全新安装)
  • sudo pip install virtualenv
  • virtualenv
  • cd
  • 来源bin / activate 此时,你可以检查你是否正在使用正确的pip或python:

  • 哪个python

  • 哪一点

他们应该是虚拟的

此时您可以使用以下命令安装bs: - 点子安装beautifulsoup4