Python中文
首页
教程
问答
标签
搜索
登录
注册
pythonvirtualenv:为什么pip仍在寻找非$path?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我一直把我所有的python2.7安装都保存在<code>~/.local/</code>目录中,这样我就不必每次想做<code>pip install</code>时都<code>sudo</code>。我的<code>$HOME/.local/lib/python2.7/site-packages</code>上也有<code>$PYTHONPATH</code>。这已经很好地工作了很多年,但现在我发现自己需要更频繁地运行<code>python3</code>程序。经过大量研究,似乎<code>virtualenv</code>是在同一系统上处理<code>python</code>2和3的最推荐方法。但是我遇到了麻烦。我可以创建一个<code>python3</code>虚拟环境,但是当我尝试用<code>pip</code>安装新的libs时,我的旧全局路径(即<code>~/.local/</code>)仍然被<code>pip</code>搜索,这是有意义的。但是,如果我从<code>$PATH</code>中删除<code>~/.local/bin/</code>目录并取消设置<code>$PYTHONPATH</code>,情况就是这样。 以下是我采取的步骤: 在激活<code>virtualenv</code>之前先检查准备工作。(我在Ubuntu 16.04上)</p> <pre><code>maddoxw@firefly:~$ echo $PATH /usr/local/cuda-8.0/bin:/home/maddoxw/.node_modules_global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/maddoxw/bin:/home/maddoxw/scripts maddoxw@firefly:~$ echo $PYTHONPATH maddoxw@firefly:~$ python --version Python 2.7.12 maddoxw@firefly:~$ python3 --version Python 3.5.2 maddoxw@firefly:~$ which pip </code></pre> <p>因为我从路径中删除了<code>~/.local/bin</code>目录,所以我可以确定<code>pip</code>不会被找到。而且,<code>$PYTHONPATH</code>仍然是空的。现在我创建我的<code>virtualenv</code>:</p> <pre><code>maddoxw@firefly:~$ mkdir test && cd test/ mkdir: created directory 'test' maddoxw@firefly:~/test$ python3 -m venv .env maddoxw@firefly:~/test$ source .env/bin/activate (.env) maddoxw@firefly:~/test$ echo $PATH /home/maddoxw/test/.env/bin:/usr/local/cuda-8.0/bin:/home/maddoxw/.node_modules_global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/maddoxw/bin:/home/maddoxw/scripts (.env) maddoxw@firefly:~/test$ echo $PYTHONPATH (.env) maddoxw@firefly:~/test$ which python /home/maddoxw/test/.env/bin/python (.env) maddoxw@firefly:~/test$ python --version Python 3.5.2 (.env) maddoxw@firefly:~/test$ which pip /home/maddoxw/test/.env/bin/pip </code></pre> <p>很好。我的<code>~/.local/</code>仍不在我的<code>$PATH</code>上,<code>$PYTHONPATH</code>仍为空,<code>python</code>指向正确的路径和版本,<code>pip</code>指向正确的位置。现在让我们尝试<code>pip install</code>一个新的库。你知道吗</p> <pre><code>(.env) maddoxw@firefly:~/test$ pip install Cython Requirement already satisfied: Cython in /home/maddoxw/.local/lib/python2.7/site-packages </code></pre> <p>为什么<code>pip</code>仍在寻找非<code>$PATH</code>路径?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>首先,安装pip3以与python3一起使用。您可以使用以下命令安装它,然后使用<strong>pip3</strong>安装软件包。你知道吗</p> <p><strong>sudo apt get install python3 pip</strong></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么在使用strptime时会出现未进行转换的数据错误?
3 回答
为什么在使用strptim时会出现这个datetime日期错误
7 回答
为什么在使用StyleFrame时索引列的标题不显示sf.至excel()?
2 回答
为什么在使用sum()函数时会发生“int”对象不可调用的错误?
8 回答
为什么在使用sympy.dsolve时会得到“'list'对象没有属性'func'”?
2 回答
为什么在使用tabla时会得到一个空的数据帧?
4 回答
为什么在使用tensorboard时需要add_graph()的第二个参数?
2 回答
为什么在使用TensorFlow Lite转换YOLOv4时,推断时间/大小没有改进?有什么可能的改进吗?
1 回答
为什么在使用Tensorflow加载训练批时会出现内存泄漏?
9 回答
为什么在使用tensorflow时会收到警告/错误(使用函数API,但未实现错误)
8 回答
为什么在使用tetpyclient发出POST请求时出现403错误?
4 回答
为什么在使用TextBlob时会出现HTTP错误?
1 回答
为什么在使用TFIDF时出现错误“IndexError:list index out of range”pyspark.ml.feature?
9 回答
为什么在使用timedelta格式化之后,我在python中的日期是错误的?
2 回答
为什么在使用timeit或exec函数时,函数中的变量不会在提供的全局命名空间中搜索?
9 回答
为什么在使用tkinter时不能使用复选框?
9 回答
为什么在使用todoistpythonapi时会返回这个奇怪的ID?
7 回答
为什么在使用TQM时,在调整图像大小时,处理时间会有很大的差异?
4 回答
为什么在使用Tweepy下载用户时间线时收到错误消息
8 回答
为什么在使用twitter帐户登录Django应用程序时重定向127.0.0.1:8000?
10 回答