我正在完成为Linux系统编写的Pyramid快速教程,我正在使用Windows,因此我将每个命令转换为Windows等效命令。
在教程步骤中: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
上面的命令在我的" ... env \ Scripts"中放置了一个新文件夹: cc_starter 。夹。我认为这没有意义,所以我将 cc_starter 移到c:\projects\quick_tutorial
。
此时我的目录如下:My Director,其中: (1)不包含" bin"夹;和 (2)没有" cc_starter" " env"内的文件夹夹。 < - 我认为这些是这个项目与虚拟环境在Linux和Windows之间应该以不同方式构建的两个主要区别
问题:
本教程步骤的最后一部分是运行:
$ env/bin/pserve development.ini --reload
^^ for Linux
我的Windows等价物:
(env) c:\projects\quick_tutorial\cc_starter\pserve development.ini --reload
这很遗憾地返回以下Traceback(最近一次调用最后一次):
文件" C:\ Python34 \ lib \ runpy.py",第170行,在_run_module_as_main中 " main ",mod_spec)文件" C:\ Python34 \ lib \ runpy.py",第85行,in _run_code exec(code,run_globals)File" c:\ projects \ quick_tutorial \ env \ Scripts \ pserve.exe__main __。py",line 9,在文件中 " C:\ Python34 \ Lib \ site-packages \ pyramid \ scripts \ pserve.py",第60行,
在main return command.run()文件中 " C:\ Python34 \ Lib \ site-packages \ pyramid \ scripts \ pserve.py",第371行,
在运行global_conf = vars)文件 " C:\ Python34 \ Lib \ site-packages \ pyramid \ scripts \ pserve.py",406行,
在loadapp中返回loadapp(app_spec,name = name, relative_to = relative_to,** kw)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第247行,
在loadapp中返回loadobj(APP,uri,name = name,** kw)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第271行,
在loadobj global_conf = global_conf)文件中 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第296行,
在loadcontext global_conf = global_conf)文件中 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第320行,
在_loadconfig中返回loader.get_context(object_type,name, global_conf)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第454行,
在get_context部分)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第476行,
在_context_from_use object_type中,name = use, global_conf = global_conf)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",406行,
在get_context global_conf = global_conf)文件中 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第296行,
在loadcontext global_conf = global_conf)文件中 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第328行,
在_loadegg中返回loader.get_context(object_type,name, global_conf)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第620行,
在get_context object_type中,name = name)文件 " C:\ Python34 \ Lib \ site-packages \ paste \ deploy \ loadwsgi.py",第640行,
在find_egg_entry_point pkg_resources.require(self.spec)文件中 " C:\ Python34 \ Lib \ site-packages \ pkg_resources.py",第669行,中
require needed = self.resolve(parse_requirements(requirements))
文件" C:\ Python34 \ Lib \ site-packages \ pkg_resources.py",第572行,在中 解决提升DistributionNotFound(req) pkg_resources.DistributionNotFound:cc-starter
(抱歉文本块,它是直接从命令提示符中复制的)
问题:
env\Scripts
文件夹是否相当于Linux中的env\bin
quick_tutorial\env\Scripts
开始并放入\quick_tutorial
? (正如我所做的那样)development.ini
时,我需要做些什么来避免错误?答案 0 :(得分:0)
首先,有一个用于在Windows 10上安装cookiecutter的PR已经过测试(由我在VM中)。请参阅https://github.com/stevepiercy/cookiecutter/blob/99250649aa3f4ba77091a72fe5df42d7f59859e6/docs/installation.rst并ping cookiecutter的维护者以合并PR https://github.com/audreyr/cookiecutter/pull/887
我们不推荐activate
。见http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html#venv-bin-pip-vs-source-bin-activate
而是使用设置为Path的环境变量,或使用可执行文件的完整路径调用命令。请参阅http://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/requirements.html
/
替换为\
。cc-starter
包,原因是您重新定位了它,或者您跳转到activate
,或两者兼而有之。答案 1 :(得分:0)
# 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 .
运行这些命令后,我能够成功完成教程。谢谢Steve Piercy的帮助。