在Mac上,如果我只是打开一个新的终端窗口并运行:
python --version
我明白了:
3.6
但如果我这样做:
virtualenv venv && source venv/bin/activate
然后,在那个环境中,我运行:
python --version
我明白了:
2.7
我需要virtualenv才能运行3.6。我怎么做?
这:
/usr/bin/python
是2.7,但是:
/usr/local/bin/python
是3.6。普通用户的路径在/usr/local/bin
之前出现/usr/bin/
。 virtualenv是否像其他人一样运行?我该如何控制它的路径?
我跑了这个:
virtualenv -p /usr/local//Cellar/python/3.6.5/bin/python3 venv
然后我这样做:
virtualenv venv && source venv/bin/activate
我在2.7的环境中跑步。
答案 0 :(得分:9)
在Python 3上,您不再需要virtualenv
脚本,您应该只使用标准库中包含的venv模块:
python3 -m venv myvenv
但是如果你真的想继续使用旧的virtualenv
脚本,你可以 - 使用-p
选项明确指定解释器:
virtualenv -p /path/to/python3 myvenv
答案 1 :(得分:0)
BsDatepickerContainerComponent_Host.ngfactory.js? [sm]:1 ERROR TypeError: Cannot read property 'schedule' of undefined
at ObserveOnSubscriber.scheduleMessage (observeOn.js:99)
at ObserveOnSubscriber._error (observeOn.js:105)
at ObserveOnSubscriber.Subscriber.error (Subscriber.js:105)
at BehaviorSubject.Observable._trySubscribe (Observable.js:177)
at BehaviorSubject.Subject._trySubscribe (Subject.js:97)
at BehaviorSubject.Observable.subscribe (Observable.js:160)
at ObserveOnOperator.call (observeOn.js:74)
at AnonymousSubject.Observable.subscribe (Observable.js:157)
at ScanOperator.call (scan.js:72)
at AnonymousSubject.Observable.subscribe (Observable.js:157)
默认情况下使用此python。编辑文件并更改第一行。或者使用不同的python重新安装head -1 `which virtualenv`
:
virtualenv
答案 2 :(得分:0)
最简单的方法是将python
全局更改为Python3,因为我认为您比Python 2.7(或希望总是)更频繁地使用它。为此,请在.bash_profile
:
alias python='python3'
virtuanenv 正在使用 / usr / bin / python ,因此它现在可以正常工作。
如果您不想全局更改它,则应使用以下命令创建Python3.6虚拟环境:
python3 -m venv venv
或显式Python版本,如果您安装了多个Python3版本:
python3.6 -m venv venv
最后有更多建议:我建议您阅读一些关于 pipenv 的内容,因为它是一种新的推荐方式,可以立即处理虚拟环境和整个软件包管理。它非常容易并且解决了许多常见问题。 Here's来自realpython.com的关于该主题的精彩文章。
希望我能帮助你。祝你有愉快的一天。