gpt4 book ai didi

Python 在虚拟环境中找不到包

转载 作者:行者123 更新时间:2023-11-28 22:33:46 26 4
gpt4 key购买 nike

我正在尝试为项目设置环境,但 python 无法找到我使用 pip 安装的模块。

我做了以下事情:

mkdir helloTwitter
cd helloTwitter
virtualenv myenv
Installing setuptools, pip, wheel...done.
source myenv/bin/activate

pip install tweepy
Collecting tweepy
Using cached tweepy-3.5.0-py2.py3-none-any.whl
Collecting six>=1.7.3 (from tweepy)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting requests>=2.4.3 (from tweepy)
Using cached requests-2.11.1-py2.py3-none-any.whl
Collecting requests-oauthlib>=0.4.1 (from tweepy)
Using cached requests_oauthlib-0.6.2-py2.py3-none-any.whl
Collecting oauthlib>=0.6.2 (from requests-oauthlib>=0.4.1->tweepy)
Installing collected packages: six, requests, oauthlib, requests-oauthlib, tweepy
Successfully installed oauthlib-2.0.0 requests-2.11.1 requests-oauthlib-0.6.2 six-1.10.0 tweepy-3.5.0

当我尝试导入模块时,它说找不到它。

$PATH 中的第一个条目是 helloTwitter/myenv/bin所有包都显示在环境站点包目录中。我似乎使用了正确的 python 和 pip。哪个 python 输出 helloTwitter/myenv/bin/python哪个 pip 输出 helloTwitter/myenv/bin/pip

对我哪里出错有什么建议吗?

最佳答案

看起来您正在手动设置您的 $PATH 以指向您的虚拟环境。 myenv/bin/activate 脚本的全部意义在于为您解决这个问题。

一旦你激活了你的虚拟环境,你使用 pip 安装的任何包都将被放置在相关的 venv site-packages 目录中(在你的例子中,myenv/lib/python2.7/网站包)。当你在虚拟环境中工作时,像 pip --user 这样的东西是不必要的(假设默认行为)。一切都是自动的。

运行 activate 后,您可以使用 find -iname tweepy 检查您正在使用的 python 二进制文件。

别名也会导致问题。 which 是一个外部命令,不会总是选择这些。 type -a python 将清除这些内容。

可以通过直接运行 helloTwitter/myenv/bin/python -c 'import tweepy' 来进行快速测试。如果这与您当前运行的 python 的行为不同(即不抛出导入异常),那么这就是您的问题。

希望对您有所帮助。

关于Python 在虚拟环境中找不到包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com