我正在尝试为项目设置环境,但 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
所有软件包都显示在环境 site-packages 目录中。
我似乎使用了正确的 python 和 pip。
python 输出哪个helloTwitter/myenv/bin/python
哪个点输出helloTwitter/myenv/bin/pip
对我哪里出错有什么建议吗?
看来您正在手动设置$PATH
指向您的虚拟环境。整个要点是myenv/bin/activate
脚本就是为你处理这个问题的。
激活虚拟环境后,使用 pip 安装的任何软件包都将放置在相关的 venv 中site-packages
目录(在你的情况下,myenv/lib/python2.7/site-packages
)。像pip --user
当您在虚拟环境中工作时(假设默认行为),这是不必要的。一切都是自动的。
运行后activate
,你可以检查你正在使用的 python 二进制文件find -iname tweepy
.
别名也会导致问题。which
是一个外部命令,并不总是会选择这些。 Atype -a python
会将这些冲掉。
可以通过运行来完成快速测试helloTwitter/myenv/bin/python -c 'import tweepy'
直接地。如果这与您当前运行的 python 的行为不同(即不抛出导入异常),那么这就是您的问题。
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)