【问题标题】:Why do I keep getting this error when trying to create a virtual environment with Python 3 on MacOS?为什么在 MacOS 上尝试使用 Python 3 创建虚拟环境时不断收到此错误?
【发布时间】:2019-09-03 16:58:03
【问题描述】:

所以我正在关注一本教我如何使用 Python 和 Django Web 框架制作学习日志的书。我被要求去一个终端并创建一个名为“learning_log”的目录并将工作目录更改为“learning_log”(这样做没有问题)。但是,当我尝试创建虚拟环境时,出现错误(见本文底部)。为什么我会收到此错误,我该如何解决此问题以在本书中继续前进?

我已经尝试使用 pip 和 pip3 安装 virtualenv(如书中规定)。然后我被指示输入命令:

learning_log$ virtualenv ll_env

我得到:

bash: virtualenv: 找不到命令

由于我使用的是Python3.6,所以我尝试了:

learning_log$ virtualenv ll_env --python=python3

我仍然得到:

bash: virtualenv: 找不到命令

Brandons-MacBook-Pro:learning_log brandondusch$ python -m venv ll_env Error: Command '['/Users/brandondusch/learning_log/ll_env/bin/python', '-Im', 'ensurepip', '--upgrade', '- -default-pip']' returned non-zero exit status 1.

【问题讨论】:

  • 如果你cd 进入learning_log 目录,试试./virtualenv ll_env(注意点斜杠前缀)
  • 我得到了同样的 bash:bash: ./virtualenv: No such file or directory
  • 你能确认它安装正确吗?从终端尝试virtualenv --version
  • 嗯。这很有趣。这是我在运行virtualenv --version 时得到的:bash: virtualenv: command not found 当我尝试pip install --user virtualenv 时,我得到:Requirement already satisfied: virtualenv in /Users/brandondusch/.local/lib/python3.6/site-packages (16.4. 3)

标签: macos terminal virtualenv python-3.6 python-venv


【解决方案1】:

对于 Ubuntu:

很简单,如果virtualenv --version 返回类似virtualenv: command not found 的内容并且which virtualenv 在控制台上没有打印任何内容,那么您的系统上没有安装virtualenv。请尝试使用pip3 install virtualenvsudo apt-get install virtualenv 进行安装,但这个可能会安装较旧的一个。

编辑

对于 Mac:

对于 Mac,您需要在 Mac 上安装 Python3 后使用 sudo pip install virtualenv 安装它。

【讨论】:

  • 这是我在尝试pip3 install virtualenv 时得到的结果:Requirement already satisfied: virtualenv in /Users/brandondusch/.local/lib/python3.6/site-packages (16.4. 3) 当我尝试sudo apt-get install virtualenv 时,系统提示我输入计算机密码,然后得到:sudo: apt-get: command not found
  • @BrandonDusch 我以为你说你在 MacOS 上安装?我的理解是 MacOS 没有名为 apt-get 的包管理器
  • @BrandonDusch 我已经编辑了答案,请尝试一下,它应该可以工作。
  • 是的,我使用的是 MacOS。当我尝试sudo pip install virtualenv 时,我得到了这个:The directory '/Users/brandondusch/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.
  • 所以我发现如果我尝试sudo -H pip install virtualenv,那就行得通。我成功安装了 virtualenv 版本 16.4.3。但是,当我尝试运行 virtualenv ll_env 行时,我得到了 SameFileError。我应该删除其中一个文件吗?
【解决方案2】:

我有同样的错误。我重新启动计算机并再次尝试,但错误仍然存​​在。然后我尝试了python3 -m venv ll_env,它继续前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2021-01-05
    • 1970-01-01
    • 2019-07-10
    • 2021-03-05
    • 1970-01-01
    • 2023-01-31
    相关资源
    最近更新 更多