2017-02-07 31 views
0

Я завершаю Quick Tutorial для Pyramid, который написан для системы Linux, и я использую Windows, поэтому я конвертирую каждую команду в эквивалент Windows.Каковы эквивалентные шаги Windows для настройки виртуальной среды для Cookieecutters на Pylons?

В Tutorial Шаг: Quick Project Startup with Cookiecutters я бегу в следующие вопросы:

команды написано в учебнике: то есть для Linux

$VENV/bin/pip install cookiecutter 

Что делать в Windows:

Я активирую виртуальную среду с помощью:

c:\projects\quick_tutorial\env\Scripts\Activate 

Затем я использую команду Windows:

(env) c:\projects\quick_tutorial\env\Scripts\pip install cookiecutter 

Точно так же, я затем запустите следующую команду:

(env) c:\projects\quick_tutorial\env\Scripts\cookiecutter https://github.com/Pylons/pyramid-cookiecutter-starter 

вышеприведенная команда помещает новую папку: cc_starter внутри моего "... env \ Scripts". Я предполагаю, что это не имеет смысла, поэтому я перемещаю cc_starter в c:\projects\quick_tutorial.

На данный момент мой каталог выглядит так: My Director, который: (1) не содержит папку «bin»; и (2) не содержит папку «cc_starter» внутри папки «env». < - Я предполагаю, что эти 2 основных различия между тем, как этот проект с виртуальной средой должна быть построена по-разному между Linux и Windows,

Проблема:

Заключительная часть этого шага учебник должен бежать:

$ env/bin/pserve development.ini --reload 

^^ для Linux

My Windows эквивалент:

(env) c:\projects\quick_tutorial\cc_starter\pserve development.ini --reload 

К сожалению, это возвращает следующий Traceback (самый последний вызов последнего):

File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
"main", mod_spec) File "C:\Python34\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "c:\projects\quick_tutorial\env\Scripts\pserve.exe__main__.py", line 9, in File
"C:\Python34\Lib\site-packages\pyramid\scripts\pserve.py", line 60,
in main return command.run() File "C:\Python34\Lib\site-packages\pyramid\scripts\pserve.py", line 371,
in run global_conf=vars) File "C:\Python34\Lib\site-packages\pyramid\scripts\pserve.py", line 406,
in loadapp return loadapp(app_spec, name=name, relative_to=relative_to, **kw) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 247,
in loadapp return loadobj(APP, uri, name=name, **kw) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 271,
in loadobj global_conf=global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 296,
in loadcontext global_conf=global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 320,
in _loadconfig return loader.get_context(object_type, name, global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 454,
in get_context section) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 476,
in _context_from_use object_type, name=use, global_conf=global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 406,
in get_context global_conf=global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 296,
in loadcontext global_conf=global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 328,
in _loadegg return loader.get_context(object_type, name, global_conf) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 620,
in get_context object_type, name=name) File "C:\Python34\Lib\site-packages\paste\deploy\loadwsgi.py", line 640,
in find_egg_entry_point pkg_resources.require(self.spec) File "C:\Python34\Lib\site-packages\pkg_resources.py", line 669, in
require needed = self.resolve(parse_requirements(requirements))
File "C:\Python34\Lib\site-packages\pkg_resources.py", line 572, in
resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: cc-starter

(жаль о блоке текста, он был скопирован непосредственно из командной строки)

Вопросы:

  1. D o Мне нужно запустить команду «Активировать», как я уже делал, внутри папки «Сценарии»?
  2. Является env\Scripts папкой эквивалентом env\bin в Linux?
  3. Я хотел переместить папку «cc_starter» из quick_tutorial\env\Scripts и разместить в \quick_tutorial? (как я это сделал)
  4. Что мне нужно сделать, чтобы избежать ошибки при загрузке development.ini?

ответ

0

Сначала есть PR для установки cookiecutter на Windows 10, который был протестирован (мной в виртуальной машине). См https://github.com/stevepiercy/cookiecutter/blob/99250649aa3f4ba77091a72fe5df42d7f59859e6/docs/installation.rst и пинг сопровождающим cookiecutter объединить PR https://github.com/audreyr/cookiecutter/pull/887

  1. Мы не рекомендуем activate. См. http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#venv-bin-pip-vs-source-bin-activate

    Вместо этого используйте переменную окружения, установленную в Путь, или вызовите команду, используя полный путь к исполняемому файлу. См. http://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/requirements.html

  2. достаточно близко. Для Linux замените / на \.
  3. На этом этапе вы не должны перемещать папки или файлы.
  4. См. Предыдущие пункты. Последняя строка в stacktrace указывает, что пакет cc-starter не может быть найден, либо потому, что вы его переместили, либо вы прыгнули в activate, или и то, и другое.
+0

Я попытался установить cookiecutter в виртуальной окр: 'C: \ Projects \ quick_tutorial \ окр \ Scripts> пункт установить cookiecutter' Возвраты: ' Требование уже удовлетворены (используйте --upgrade обновить): cookiecutter в с : \ python34 \ Lib \ сайт-packages' Тогда я стараюсь: 'C: \ проекты \ quick_tutorial \ Env \ Scripts \ cc_starter> pserve development.ini --reload' Возвращает ту же ошибку: ». ..resolve pkg_resources.DistributionNotFound: cc-starter " ** Вопрос: ** Как я уверен, что cc_starter можно найти для устранения ошибки трассировки? nb: Я не использовал 'activate', и я оставил папку в'/env/Scripts' – Wronski

0

Обнаружена проблема! В учебнике: Quick Project Startup with Cookiecutters, не было ясно, что я должен был выполнить следующие команды себя:

# Change directory into your newly created project. 
$ cd cc_starter 
# Create a new virtual environment... 
$ python3 -m venv env 
# ...where we upgrade packaging tools... 
$ env/bin/pip install --upgrade pip setuptools 
# ...and into which we install our project. 
$ env/bin/pip install -e . 

После выполнения этих команд, я был в состоянии успешно завершить учебник. Спасибо, Стив Пирси за вашу помощь.

+0

Рад, что вы поняли это. Если это неясно, пожалуйста, предложите улучшения в документации, чтобы сделать его более понятным. Cookiecutters являются новыми в Pyramid 1.8, а Windows - моя третичная платформа. –