【问题标题】:Installing virtualenv virtualenvwrapper with pip on osx 10.11.1在 osx 10.11.1 上使用 pip 安装 virtualenv virtualenvwrapper
【发布时间】:2016-02-13 00:52:17
【问题描述】:

目标

安装 virtualenv virtualenvwrapper

背景

我正在尝试按照本教程 https://realpython.com/blog/python/flask-by-example-part-1-project-setup/ 创建一个示例烧瓶应用程序

但由于我在运行 10.11.1 的这台新 Mac 上设置 Python 和相关技术,因此我经常遇到问题

我卡在输入这个命令的地方

$ mkvirtualenv --python=/usr/local/bin/python3 字数

我后来意识到我没有python 3。但是我仍然有错误

-bash: mkvirtualenv: command not found

所以我找到了这个教程来帮助安装 virtualenv Install virtualenv and virtualenvwrapper on Mac OS X 它说运行这个

pip install virtualenv virtualenvwrapper

但后来我遇到了 pip 的问题

当前状态

我以为我在Can't install virtualenvwrapper on OSX 10.11 El Capitan找到了一个现有的答案

回答说

sudo pip install pbr
sudo pip install --no-deps stevedore
sudo pip install --no-deps virtualenvwrapper

但即使是另一个用户在接受答案的 cmets 中也提到它在 10.11.1

上不起作用

日志

Captains-MacBook-Pro:flask-by-example mac$ sudo pip install pbr
Password:
The directory '/Users/mac/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mac/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied (use --upgrade to upgrade): pbr in /Library/Python/2.7/site-packages
Captains-MacBook-Pro:flask-by-example mac$ sudo pip install --no-deps stevedore
The directory '/Users/mac/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mac/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting stevedore
  Downloading stevedore-1.9.0-py2.py3-none-any.whl
Installing collected packages: stevedore
Successfully installed stevedore-1.9.0
Captains-MacBook-Pro:flask-by-example mac$ sudo pip install --no-deps virtualenvwrapper
The directory '/Users/mac/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mac/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting virtualenvwrapper
  Downloading virtualenvwrapper-4.7.1-py2.py3-none-any.whl
Installing collected packages: virtualenvwrapper
Successfully installed virtualenvwrapper-4.7.1
Captains-MacBook-Pro:flask-by-example mac$ sudo pip install virtualenv virtualenvwrapper
The directory '/Users/mac/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mac/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): virtualenvwrapper in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /Library/Python/2.7/site-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): stevedore in /Library/Python/2.7/site-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): pbr>=1.6 in /Library/Python/2.7/site-packages (from stevedore->virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): argparse in /Library/Python/2.7/site-packages (from stevedore->virtualenvwrapper)
Collecting six>=1.9.0 (from stevedore->virtualenvwrapper)
  Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six
  Found existing installation: six 1.4.1
    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_set.py", line 640, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_install.py", line 716, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_uninstall.py", line 125, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/utils/__init__.py", line 315, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
    copystat(src, dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
    os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-tK4FXO-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
Captains-MacBook-Pro:flask-by-example mac$

【问题讨论】:

    标签: python macos pip virtualenv virtualenvwrapper


    【解决方案1】:

    您不应该使用您系统的 Python 版本。

    根据Python's docs

    OS X 附带的 Python 版本非常适合学习,但不适合开发。

    根据Apple's docs

    鼓励使用 Perl、Python、Ruby 或 OS X 附带的任何其他脚本语言的开发人员管理他们自己安装的语言和依赖项...

    因此,我建议按照Python's OS X installation docs 中的建议和描述使用自制软件安装 Python 2 和/或 Python 3。

    请注意,这些说明提供了安装 Python 2 的命令。要安装 Python 3,您需要运行:

    brew install python3    # instead of 'brew install python'
    

    这些 Python 安装文档还链接到installing virtualenv and virtualenvwrapper 的详细说明。

    更新:

    您似乎安装了virtualenvwrapper,但配置不正确。安装的时候,我根据installation docs for virtualenvwrapper运行如下代码进行配置:

    # Create a directory to hold the virtual environments.
    mkdir $HOME/.virtualenvs
    
    echo "
    # Python's virtualenvwrapper-RELATED
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh 
    " >> ~/.bash_profile
    source ~/.bash_profile
    

    【讨论】:

    • 好的,这有帮助。我现在也在 python 3 上。我想新问题是当我运行命令mkvirtualenv --python=/usr/local/bin/python3 wordcounts 时出现错误-bash: mkvirtualenv: command not found 然后我在github 上找到了这个github.com/robbyrussell/oh-my-zsh/issues/3047 但这是给使用zsh 的人的。我确定我遗漏了一些明显的东西,但不确定是什么。
    • 你有一个文件叫:/usr/local/bin/virtualenvwrapper.sh
    • 迈克,是的,我愿意。我刚刚检查过。
    • 您似乎安装了virtualenvwrapper,但配置不正确。我已经更新了我的答案,并提供了更多内容供您尝试。
    猜你喜欢
    • 2016-08-22
    • 2018-09-03
    • 2018-01-26
    • 2012-04-20
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多