[英]Python3 pip installing globally when in a virtualenv
試圖最終跳轉到Python 3,但我遇到了與virtualenvwrapper的一些問題。 我首先創建虛擬環境,如下所示:
mkvirtualenv -p /usr/local/bin/python3 projectname
產量:
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.3.3/Frameworks/Python.framework/Versions/3.3'
New python executable in projectname/bin/python3.3
Also creating executable in projectname/bin/python
Installing setuptools, pip...done.
到現在為止還挺好。 我檢查python控制台以確保環境正在查看正確的解釋器以及所有這些。 這里是悲傷發生的地方(當virtualenv活躍時):
pip install flask
聲稱是成功的,但唉:
Python 3.3.3 (default, Jan 2 2014, 13:26:32)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'flask'
這是問題所在:
$ pip show flask
---
Name: Flask
Version: 0.10.1
Location: /usr/local/lib/python3.3/site-packages
Requires: Werkzeug, Jinja2, itsdangerous
除非我完全誤解了virtualenv / wrapper及其各自的魔法(我很有可能),看起來pip install是全局安裝Flask而不是我的virtualenv中的site-packages,因此virtualenv忽略了它。
任何線索在這里發生了什么/如何解決? 假設virtualenvwrapper准備好使用python3的黃金時段,我錯了嗎? 我不需要破壞我的.bashrc或手動設置環境變量的漂亮解決方案更可取。 我希望有一種方法可以通過virtualenv和virtualenvwrapper提供的api來實現這一點。
謝謝!
我在pip安裝包時遇到了問題,而不是在激活的virtualenv中。 看看pip安裝在全球網站包中而不是virtualenv的問題(和答案)。
基本上,解決方案包括修改virtualenv中pip腳本的shebang,因為它們指向錯誤的python安裝(全局而不是virtualenv)。 只需將shebang更改為指向正確的位置即可進行設置。
注意:應該歸功於提出解決方案的Chase Ries。
我遇到過同樣的問題。 它似乎從Virtualenv 1.11.4開始解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.