2016-07-03 1 views
3

Я хочу использовать cookiecutter для запуска проекта django, но по какой-либо причине cookiecutter не может быть найден.команда cookiecutter не найдена после установки с помощью pip

Что я сделал:

pip install cookiecutter 

После этого:

cookiecutter https://github.com/pydanny/cookiecutter-django 

Тогда я получаю сообщение об ошибке:

The program 'cookiecutter' is currently not installed. You can install it by typing: 
    sudo apt install cookiecutter 

Однако при установке cookiecutter с APT и запустить cookiecutter https://github.com/pydanny/cookiecutter-django Я получаю сообщение об ошибке.

Traceback (most recent call last): 
    File "/usr/bin/cookiecutter", line 9, in <module> 
    load_entry_point('cookiecutter==1.3.0', 'console_scripts', 'cookiecutter')() 
    File "/usr/lib/python2.7/dist-packages/click/core.py", line 716, in __call__ 
    return self.main(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/click/core.py", line 696, in main 
    rv = self.invoke(ctx) 
    File "/usr/lib/python2.7/dist-packages/click/core.py", line 889, in invoke 
    return ctx.invoke(self.callback, **ctx.params) 
    File "/usr/lib/python2.7/dist-packages/click/core.py", line 534, in invoke 
    return callback(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/cookiecutter/cli.py", line 100, in main 
    config_file=user_config 
    File "/usr/lib/python2.7/dist-packages/cookiecutter/main.py", line 140, in cookiecutter 
    output_dir=output_dir 
    File "/usr/lib/python2.7/dist-packages/cookiecutter/generate.py", line 327, in generate_files 
    generate_file(project_dir, infile, context, env) 
    File "/usr/lib/python2.7/dist-packages/cookiecutter/generate.py", line 167, in generate_file 
    tmpl = env.get_template(infile_fwd_slashes) 
    File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 812, in get_template 
    return self._load_template(name, self.make_globals(globals)) 
    File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 786, in _load_template 
    template = self.loader.load(self, name, globals) 
    File "/usr/lib/python2.7/dist-packages/jinja2/loaders.py", line 125, in load 
    code = environment.compile(source, name, filename) 
    File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 565, in compile 
    self.handle_exception(exc_info, source_hint=source_hint) 
    File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 754, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "./LICENSE", line 3, in template 
jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'now'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'. 
    File "./LICENSE", line 3 
    Copyright (c) {% now 'utc', '%Y' %}, {{ cookiecutter.author_name }} 

Я понимаю, что это связано с версией cookiecutter, которая должна быть> = 1,4
Пакет пип является версия 1.4, но это не будет работать.

Что мне здесь не хватает?

Я использую виртуальный бокс, поэтому это не внутри виртуального.

ответ

6

Извините, но кажется, что вы смешиваете вещи.

  1. Поскольку sudo apt-get install cookiecutter устанавливает что-то называется cookiecutter не означает, что одно и то же cookiecutter от пипа. На самом деле, у них нет ничего общего. Один из них - куттер-резак для питона, а другой - для джанго.
  2. Это cookiecutter на Launchpad, тот, который вы установили с APT-получить: https://launchpad.net/ubuntu/+source/cookiecutter
  3. И это то, что вы ищете: https://pypi.python.org/pypi/cookiecutter-django

Итак, вернемся к вашему вопросу:

Если вы хотите сохранить себе головную боль, даже если вы работаете в Virtualbox, нет ничего плохого в настройке VirtualEnv для обработки инкапсуляции ваших проектов.

Я просто, из понимания вашего вопроса, воспроизвел и получил все, что работает в считанные секунды.

  • mkvirtualenv myProject (если у вас есть virtualenv и virtualenvwrapper установлен, добавил к ~/.bashrc и Баш перезапущен, либо перезапустить графический терминал или souce ~/.bashrc
  • workon myProject
  • Тогда внутри (myProject) $~ проворная, действуйте с установками, а именно:
  • sudo apt install python-pip
  • pip install cookiecutter
  • п продолжается как обычно, cookiecutter https://github.com/pydanny/cookiecutter-django.git

Если вы не собираетесь раскручивать экземпляров VirtualBox Ubuntu для каждого проекта Django вы хотите начать, я рекомендую вам использовать virtualenv, чтобы держать вещи в чистоте.