O que é o windows equivalente ao ln-s Unix symbolic link command?
estou a tentar seguir o seguinte tutorial para criar um ambiente de programa para a Biblioteca Twilio e App Engine.
Https://developers.google.com/appengine/articles/twilio
Estou bem até ao ponto em que diz:Investiguei e parece que vou usar algo comoLigue a Biblioteca Twilio e as suas dependências ao seu projecto:
$ 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 .
Se bem entendi, eu ... basicamente precisam entender o que significa o " .
", pois esse é o alvo do link simbólico? Não tenho a certeza disso.)
editar:
Depois de rever a minha pasta, a localização a seguir ao venv é venv\lib\site-packages. Já existem pastas para Twilio e httplib2 nesse ponto do diretório. Seis existe naquele momento em um arquivo chamado six.py
.
a intenção do comando Unix é criar um link simbólico dessas pastas existentes para o directório de trabalho? Porque o que está a fazer é dizer-me que não posso criar ficheiros existentes tanto para o Twilio como para o httplib2. (Já existem pastas no diretório venv\lib \ pacotes do site,e ele vai me deixar fazer uma ligação simbólica para seis, mas então ele recursivamente cria 4500 mais camadas de profundidade de toda a pasta seis.)
2 answers
Tenta isto:
mklink /D .\ venv\lib\python2.7\site-packages\httplib2
Nota: mklink [opção] LINK TARGET (a ligação e o alvo são invertidos em comparação com o linux ln -s
)
Sintaxe Do Comando Mklink:
O MKLINK tem 3 opções /D, / H E / J. também precisa de especificar a localização para o novo link simbólico e o caminho para o arquivo original ou Directorio.
/ D – usado para criar ligações simbólicas para directórios (d para directório)
/ H – usado para criar ligações duras (H para ligação difícil)
/ J-usado para criar junção da pasta (j para a junção)
a propósito, prefere sempre o mklink / D ao mklink / J . O Windows explorer irá excluir todo o conteúdo de uma junção (a última), enquanto que ao excluir um link de diretório (a primeira) ele irá apenas remover o link.
O ponto .
é a pasta actual (de onde está a executar o comando). No exemplo acima, eu mudei para .\
para torná-lo explicito.
Para ficheiros : ligação útil.
Se não conseguir obter privilégios com /D
, use uma ligação difícil (opção /H
) :
mklink /H .\six.py venv\lib\python2.7\site-packages\six.py
'.'
representa a pasta actual, tanto em * nix-land como em Windows. Então esses comandos estão fazendo links simbólicos ali mesmo.
Estes seriam os mesmos que dizer:
ln -s venv/lib/python2.7/site-packages/twilio twilio
Ou no Windows (Vista, 7, 2008 e up):
mklink /d twilio venv\lib\python2.7\site-packages\twilio
Onde
-
twilio
é o alvo ou ligação para criar -
venv\lib\python2.7\site-packages\twilio
é a pasta de origem
Lembre-se que mklink
tem a sintaxe soure | target oposta que ln -s
tem.
ln
é o código - >alvomklink
objectivo - > fonte