Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,部分在网络文件系统上的站点包?_Python - Fatal编程技术网

Python,部分在网络文件系统上的站点包?

Python,部分在网络文件系统上的站点包?,python,Python,CentOS 7系统,Python 2.7。操作系统安装的python有一个目录 /usr/lib/python2.7/site-packages 这就是 python setup.py install 命令将安装一个包。在计算集群上,我想安装一些软件包,以便从该目录引用它们,但它们实际上位于NFS服务的目录中: /usr/common/lib/python2.7/site-packages 也就是说,我不希望必须在每个群集节点上运行setup.py才能在每个节点上进行本地安装,从而

CentOS 7系统,Python 2.7。操作系统安装的python有一个目录

/usr/lib/python2.7/site-packages
这就是

python setup.py install
命令将安装一个包。在计算集群上,我想安装一些软件包,以便从该目录引用它们,但它们实际上位于NFS服务的目录中:

   /usr/common/lib/python2.7/site-packages
也就是说,我不希望必须在每个群集节点上运行setup.py才能在每个节点上进行本地安装,从而在每台计算机上复制该包。已在本地安装的软件包不得受到影响,其中一些软件包由操作系统的命令使用。此外,即使网络因某种原因中断,本地网络也必须工作。我不是在尝试设置虚拟环境,我只是在尝试将一组通用的软件包放在不同的目录中,以便操作系统提供的python能够看到它们

我不清楚什么是最好的方法。这似乎是一个常见的问题,必须有一个标准的或首选的方法来做到这一点,如果可能的话,这就是我想要使用的方法

此命令

  /usr/bin/python setup.py install --prefix=/usr/common
可能会安装到目标目录中。但是,集群节点上的“python”命令将不知道该包存在,并且没有与共享站点包相对应的“network”python程序

网络安装后,可以为创建的每个文件创建从本地到共享目录的符号链接。这是可以接受的,假设这是足够的

看起来PYTHONPATH环境变量也可能在这里起作用,尽管我不清楚它期望什么 对于“路径”(站点包的完整路径,或仅/usr/common部分。)

编辑:至少对于测试用例来说,这看起来确实可以根据需要工作。上述软件包是使用--prefix安装的。PYTHONPATH以前没有定义

export PYTHONPATH=/usr/common/lib/python2.7/site-packages
python $PATH_TO_START_SCRIPT/start.py
正确运行


谢谢。

您正在寻找的是
virtualenv
或pipenv、conda等的可能副本您正在寻找的
virtualenv
或pipenv、conda等的可能副本