9

我正在尝试按照以下教程为 Twilio 和 App Engine 库创建程序环境。

https://developers.google.com/appengine/articles/twilio

我很好,直到它说:

将 Twilio 库及其依赖项链接到您的项目中:

$ ln -s venv/lib/python2.7/site-packages/twilio .

$ ln -s venv/lib/python2.7/site-packages/httplib2 .

$ ln -s venv/lib/python2.7/site-packages/six.py .

我已经研究过,看来我会使用类似的东西

mklink /d venv\lib\python2.7\site-packages\twilio .

如果我理解正确,我基本上需要理解“ .”代表什么,因为那是符号链接的目标?(不确定。)

我正在使用 cmd.exe 作为外壳程序,并且可以真正使用比我更了解 Unix 的人的帮助。

编辑:

查看我的目录后,venv 之后的路径是 venv\lib\site-packages。目录的那个位置已经有 Twilio 和 httplib2 的文件夹。六个此时存在于一个名为six.py.

Unix命令的意图是我创建从那些现有文件夹到工作目录的符号链接吗?因为它的作用是告诉我我无法为 Twilio 和 httplib2 创建现有文件。(venv\lib\site-packages 目录中已经有文件夹,它可以让我为六个做一个符号链接,但它会递归地在整个六个文件夹中创建 4500 多个层。)

4

2 回答 2

12

尝试这个 :

mklink /D .\ venv\lib\python2.7\site-packages\httplib2

注意:mklink [OPTION] LINK TARGET(与 linux 相比,链接和目标是翻转的ln -s

Mklink 命令语法:

MKLINK 有 3 个选项 /D、/H 和 /J。您还需要指定新符号链接的路径以及原始文件或目录的路径。

/D - 用于为目录创建符号链接(d 表示目录)

/H – 用于创建硬链接(h 表示硬链接)

/J – 用于创建目录联结(j 表示联结)

顺便说一句,总是更喜欢 mklink /D 而不是 mklink /J。Windows 资源管理器将删除联结的全部内容(后者),而在删除目录链接(前者)时,它只会删除该链接。

.是当前目录(从您运行命令的位置)。在上面的示例中,我将其更改.\为使其明确。

对于文件: 有用的链接

如果您无法获得特权,请/D使用硬链接(选项/H):

mklink /H .\six.py venv\lib\python2.7\site-packages\six.py
于 2013-06-22T01:50:31.270 回答
1

'.'代表当前文件夹,在 *nix-land 和 Windows 中。因此,这些命令正在建立符号链接。
这些和说的一样:

ln -s venv/lib/python2.7/site-packages/twilio twilio

或在 Windows(Vista、7、2008 及更高版本)中:

mklink /d twilio venv\lib\python2.7\site-packages\twilio 

在哪里

  • twilio是要创建的目标或链接
  • venv\lib\python2.7\site-packages\twilio是源目录

记住mklink有反酸| 具有的目标语法ln -s

ln是源 -> 目标
mklink是目标 -> 源

于 2013-06-22T01:58:06.007 回答