最近遇到一个需求,安装py包时,不放置在默认的site-packages下,而是放置在指定位置,类似于go get时会放置在指定的gopath下边一样,pip提供了这样的参数,使用target:
pip install --target=path package
基本命令如上,其中path是要安装的位置,而package则是要安装的包名;安装的包可能有自己的依赖,这些依赖也会被安装在这个目录下;
项目中因为有requirements文件,所以我们的命令是:
pip install -r requirements.txt --target=/c/user/admin/package
这样装出来的包,默认python在查找时是不会找到的,需要将路径加入到pythonpath中,这样运行python时就能找到了,比如我们的命令是:
export PYTHONPATH=/c/usr/admin/package
这里一定要用export,因为普通的赋值操作只是在父进程中生效,当启动python后,是找不到这个变量的,必须用export提升。