嘗試最終跳轉到Python 3,但遇到了virtualenvwrapper的一些問題。我開始了通過像這樣創建虛擬環境:Python3 pip在virtualenv中全局安裝
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 /包裝和他們各自的魔術(我很可能),似乎像pip安裝是全局安裝Flask,而不是我的virtualenv中的站點包,因此virtualenv忽略它。
任何線索這裏發生了什麼/如何解決?假設virtualenvwrapper已準備好用於python3的黃金時段,我錯了嗎?漂亮的解決方案,我不需要修改我的.bashrc或手動設置環境變量是可取的。我希望有一種方法可以通過virtualenv和virtualenvwrapper提供的api來實現。
謝謝!
哪些版本的'pip'和'virtualenv'? (或者你使用'venv'而不是'virtualenv'?)我記得pip 1.4和最近的virtualenv版本有問題(即使這些版本是1.4),這是通過升級到pip 1.5解決的,但我不記得了如果這是問題... – abarnert
一旦我激活virtualenv,使用的點是:/usr/local/lib/python3.3/site-packages(python 3.3)中的點1.5。我使用virtualenvwrapper來抽象虛擬virtualenv的東西,但是當我輸入'virtualenv --version'我得到1.11 – follyroof
好吧,所以它使用你的系統'pip'而不是你的virtualenv的'pip',我期望造成這個問題。 「哪個pip」顯示/ usr/local/bin/pip,還是它是正確的路徑(你的env中的那個)? – abarnert