如何创建一个Bash脚本来激活Python virtualenv?
我有一个目录结构,如:
.env
bin
activate
...other virtualenv files...
src
shell.sh
...my code...
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式激活我的virtualenv:
user@localhost:src$ . ../.env/bin/activate
(.env)user@localhost:src$
Run Code Online (Sandbox Code Playgroud)
但是,从Bash脚本执行相同操作无效:
user@localhost:src$ cat shell.sh
#!/bin/bash
. ../.env/bin/activate
user@localhost:src$ ./shell.sh
user@localhost:src$
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我在使用Paramiko(版本1.7.6-2)ssh客户端连接到设备时遇到问题:
$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
>>> ssh = paramiko.SSHClient()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect("123.0.0.1", username="root", password=None)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/paramiko/client.py", line 327, in connect
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
File "/usr/lib/pymodules/python2.6/paramiko/client.py", line 481, in _auth
raise saved_exception
paramiko.AuthenticationException: Authentication failed.
>>>
Run Code Online (Sandbox Code Playgroud)
当我从命令行使用ssh时,它工作正常:
ssh root@123.0.0.1
BusyBox v1.12.1 (2010-11-03 13:18:46 EDT) built-in …Run Code Online (Sandbox Code Playgroud)