设置virtualenv并安装Django(MACOSX)

时间:2018-08-08 10:57:33

标签: django web

我不知道为什么不能为我的项目创建virutalenv。

我创建文件夹并输入命令以安装Django

  

pipenv安装Django

但是我有一个错误,我无法确定它是什么。

  

警告:未设置环境变量LANG!我们推荐   在〜/ .profile(或等效文件)中设置此值以获得适当的期望   行为。为该项目创建一个virtualenv ... Pipfile:   / Users / pedrosantos / Desktop / helloworld / Pipfile使用   /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6   (3.6.6)创建virtualenv ...⠋Traceback(最近一次通话为last):
  文件   “ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py”,   _run_module_as_main中的第193行       “ 主要”,mod_spec)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py”,   第85行,在_run_code中       exec(code,run_globals)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/pew/ma​​in.py”,   第8行       导入pew文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/patched/pew/init.py”,   第3行,在       来自。导入pew文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/patched/pew/pew.py”,   第44行       从pew._utils导入(check_call,invoke,expandpath,own,env_bin_dir,File   “ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/patched/pew/_utils.py”,   第25行,在       编码= locale.getlocale()[1]或“ ascii”文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py”,   第581行,在getlocale中       返回_parse_localename(localename)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py”,   _parse_localename中的第490行       引发ValueError('未知语言环境:%s'%localename)ValueError:未知语言环境:UTF-8

     

Virtualenv位置:为此项目创建一个Pipfile ...追溯   (最近通话最近):文件   “ /Library/Frameworks/Python.framework/Versions/3.6/bin/pipenv”,行   11,在       sys.exit(cli())文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/click/core.py”,   第722行,在致电中       返回self.main(* args,** kwargs)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/click/core.py”,   697行,主要       rv = self.invoke(ctx)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/click/core.py”,   第1066行,在调用中       返回_process_result(sub_ctx.command.invoke(sub_ctx))文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/click/core.py”,   行895,在调用中       返回ctx.invoke(self.callback,** ctx.params)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/click/core.py” ,   第535行,在invoke       返回回调(* args,** kwargs)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/cli.py”,   安装中的第435行       selective_upgrade = selective_upgrade,文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/core.py”,   行1759,在do_install中       pypi_mirror = pypi_mirror,文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/core.py”,   确保项目中的第639行       sure_pipfile(validate = validate,skip_requirements = skip_requirements,system = system)文件   “ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/core.py”,   确保_pipfile中的第288行       project.create_pipfile(python = python)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/project.py”,   create_pipfile中的第607行       required_python = self.which('python')文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/core.py”,   115行,其中       p = os.path.join(位置,'bin',命令)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/posixpath.py”,   第80行,加入       a = os.fspath(a)TypeError:预期的str,字节或os.PathLike对象,而不是NoneType

对不起,我是Django的初学者,我在关注Willian S. Vicent书(Django 2.0)

之后,这本书要求输入:

  

$ pipenv shell

并开始我的项目。我以前可以做,但是现在我不知道发生了什么。

谢谢

1 个答案:

答案 0 :(得分:0)

这是MacOS中的常见问题,此问题在解决方案中已很久提及。 https://docs.pipenv.org/diagnose/#valueerror-unknown-locale-utf-8

总而言之,您的计算机中缺少一些变量LC_ALLLANG。您必须将其添加到您的~/.bash_profile文件中。

所以您需要做的是使用收藏夹编辑器打开该文件并添加这些行

export LC_ALL='en_US.UTF-8'
export LANG='en_US.UTF-8'

添加这些Env变量后,您将需要重新激活该文件。所以你需要运行

> source ~/.bash_profile