【问题标题】:The site-packages folder exists for python2 but not python3站点包文件夹存在于 python2 但不存在于 python3
【发布时间】:2019-10-09 10:22:36
【问题描述】:

作为 root 用户,我看到:

root@5d6f29f1d4e9:/usr/local/lib/python2.7# ls -a
.  ..  dist-packages  site-packages
root@5d6f29f1d4e9:/usr/local/lib/python3.6# ls -a
.  ..  dist-packages

当我运行这个时:

find / -type d -name 'site-packages'

唯一的结果是:

/usr/local/lib/python2.7/site-packages

有人知道为什么我在 3.6 中看不到站点包吗?

我安装了python3:

 apt install -y build-essential libssl-dev libffi-dev python3-dev
 apt install -y python3-pip

然后使用以下命令安装了一堆python包:

 pip3 install gunicorn
 pip3 install wheel
 ...etc...

也许我没有安装好python3?

【问题讨论】:

  • 我不认为这个问题是关于 2.7 vs 3.x 的?
  • pip3 show gunicorn 的输出是什么?
  • 您使用的是什么发行版?你自己构建了 Python 吗?
  • 我按照 OP 说的安装了

标签: python python-3.x ubuntu


【解决方案1】:

这似乎是带有 dist-packages 而不是 site-packages 的 Debian 功能。 您可以检查您的 pip3 安装包的路径:python3 -c "import wheel;print(wheel.__file__)"

【讨论】:

    【解决方案2】:

    如果您的目标是找到 python 安装软件包的位置,请继续阅读。

    1. 只需使用 python3 打开 python 控制台。
    2. 检查是否可以直接导入包。 (当我直接说时,我的意思是没有任何 virtualenv 等)import gunicorn
    3. 现在,在控制台中,如果它正常工作且没有错误,则意味着您的 python3 可以找到该包。
    4. 如果您认为 python 在哪里寻找包,显而易见的解决方案是使用 sys.path
    5. 所以import sys 然后print(sys.path) 这应该会给你一个不超过10个文件夹的列表。只需浏览文件夹,你就会找到默认安装包的路径。

    只需运行python3 -m site

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 2019-12-23
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      相关资源
      最近更新 更多