简体   繁体   中英

Installing BeautifulSoup in virtualenv without sudo-permission

As I tried to install BeautifulSoup and Yolk in virtualenv, both through pip and trough downloaded tar.gz balls, I encountered a problem:

(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

The same problems occurs as I try to install through 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

Is there anything wrong with my virtualenv installation? Isn't one of the good parts about virtualenv that all files (Python and libraries) are contained separated?

--- UPDATE ---

I tried to make a new virtualenv, and all I got was this error message:

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$ 

Any suggestions?

If it's an older version of virtualenv, `--no-site-packages´ was not default until fairly recently (version 1.7 from 2011-11-30). Try explicitly using that flag when you create the virtualenv.

mkvirtualenv olaenv --no-site-packages

In brief: you have to install virtualenv with sudo

this is how i did:

  • sudo pip uninstall virtualenv (in order to do a clean install)
  • sudo pip install virtualenv
  • virtualenv
  • cd
  • source bin/activate at this point you can check if you're using the right pip or python with:

  • which python

  • which pip

and they should be the virtualenv ones

at this point you can install bs with: - pip install beautifulsoup4

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM