虚拟环境venv创建失败,出现以下错误信息。

9

我刚开始学习Python开发,尝试在我的项目目录中安装virtualenv。

但是出现了以下错误:

Installing collected packages: pip, setuptools

  Exception:
  Traceback (most recent call last):
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/basecommand.py", line 232, in main
      status = self.run(options, args)
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/commands/install.py", line 347, in run
      root=options.root_path,
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/req/req_set.py", line 549, in install
      **kwargs
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/req/req_install.py", line 754, in install
      self.move_wheel_files(self.source_dir, root=root)
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/req/req_install.py", line 963, in move_wheel_files
      isolated=self.isolated,
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/wheel.py", line 234, in move_wheel_files
      clobber(source, lib_dir, True)
    File "/Library/Python/2.7/site-packages/virtualenv_support/pip-6.0.8-py2.py3-none-any.whl/pip/wheel.py", line 212, in clobber
      shutil.copyfile(srcfile, destfile)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 82, in copyfile
      with open(dst, 'wb') as fdst:
  IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pip/__init__.py'

----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 11, in <module>
    sys.exit(main())
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 825, in main
    symlink=options.symlink)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 993, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 961, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 903, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/alexandrurada...oard/venv/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 2

我用easy_install pip安装了pip,然后使用pip install virtualenv安装了virtualenv,没有出现任何错误。但是我仍然遇到了问题。我不想尝试sudo命令,应该吗?
更新:我用sudo命令安装它们,成功解决了这个错误。但是在使用pip安装其他东西时又遇到了另一个错误。
air:dashboard alexandrurada$ pip install flask

-bash: /usr/local/bin/pip: "path_here": 解释器错误:没有那个文件或目录

更新2:之前的错误是因为目录名中有空格。看起来路径不支持这样的名称。

无论如何,我现在遇到的错误是

File "/usr/local/bin/pip", line 7, in <module>
    from pip import main
ImportError: No module named pip

我检查了我的 /usr/local/bin/pip,文件存在。


你是否拥有所需的权限?你可能需要运行 sudo your_cmd - ForceBru
2个回答

15
你需要运行 sudo pip install virtualenv 命令来全局安装 virtualenv。当设置你的虚拟环境时,请确保不要使用 sudo 并在尝试安装之前激活你的虚拟环境。 [Errno 13] Permission denied: 意味着你没有写入权限。

1
你救了我的一天! - Morton
Win10 PowerShell以管理员身份运行pip install virtualenv - Stephen Ó Connor

4

安装新版本的pip,避免使用easy_install。

从以下链接下载pip:https://bootstrap.pypa.io/get-pip.py

然后在Python上运行它:

$ python get-pip.py

如果您想将 pip 安装到全局路径中,您可能需要使用 sudo 运行最后一个命令。如果不使用 sudo,pip 将安装用于您路径中的任何 Python 解释器。从这里开始,您可以使用 pip 安装 virtualenv:
$ pip install virtualenv

从您的回复来看,似乎最好将系统置于已知状态:下载该文件,然后运行sudo python get-pip.py以使用已知可用的pip安装。


我做了这个,激活venv后,我使用全局pip路径获取pip(which python显示本地路径)。 - Alexandru R
@AlexandruRada 你想要实现什么目标? - user559633
我正在尝试在Python中启动我的第一个项目。我阅读了关于virtualenv的相关内容并想要安装它。然而,即使使用全局pip目录,在运行例如pip install flask时我仍然会遇到错误:-bash:/usr/local/bin/pip:错误的解释器:没有那个文件或目录 - Alexandru R
好的,那么你可能需要使用sudo来运行我的指令。下载该文件,然后运行 sudo python get-pip.py,这样你就会更好地完成任务了。 - user559633
我已经解决了"没有此类文件"的错误(这是由于目录名中含有空格导致的问题)。现在,每次尝试使用pip安装都会显示以下内容:"File "/usr/local/bin/pip", line 7, in <module> from pip import main ImportError: No module named pip"。 - Alexandru R
@AlexandruRada 如果你在虚拟环境中,请先退出虚拟环境,然后重新运行安装命令。 - user559633

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