Linux安装 ta-lib
Download ta-lib-0.4.0-src.tar.gz and:
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib/
./configure --prefix=/usr
make
sudo make install
If you build TA-Lib using make -jX it will fail but that’s OK! Simply rerun make -jX followed by [sudo] make install.
Note: if your directory path includes spaces, the installation will probably fail with No such file or directory errors.
在你激活了名为 fundvenv
的虚拟环境后,你已经处于一个隔离的环境,可以在这个环境中安装软件而不会影响到全局系统。你提供的命令是正确的,它们将会把软件安装到你的虚拟环境目录中。
这里是你将要执行的步骤:
-
./configure --prefix=~/fundvenv
:这个命令会配置软件,准备在~/fundvenv
目录下安装。--prefix
参数指定了安装的目标路径。 -
make
:这个命令会根据配置编译软件。 -
make install
:这个命令会将编译好的软件安装到指定的前缀路径。
确保你有足够的权限在 ~/fundvenv
目录下写入文件。由于你当前是以 root
用户身份运行,理论上你应该有权限,但如果你是在多用户系统上操作,最好以普通用户身份进行这些操作以避免潜在的安全问题。
如果你不是以 root
用户身份运行,并且遇到权限问题,你可能需要在 make install
步骤中使用 sudo
来获取必要的权限,但请谨慎使用,因为这可能会破坏虚拟环境的隔离性。
以下是完整的命令序列:
(fundvenv) [root@ ta-lib]# ./configure --prefix=~/fundvenv
(fundvenv) [root@ ta-lib]# make
(fundvenv) [root@ ta-lib]# make install
执行这些命令后,软件将被安装到你的 ~/fundvenv
虚拟环境目录中,并且只有在这个虚拟环境中可用。当你不再需要使用这个软件时,可以通过 deactivate
命令退出虚拟环境。
configure: error: expected an absolute directory name for --prefix: ~/fundvenv
出现这个错误是因为./configure
脚本期望的是一个绝对路径,而不是相对路径。在你的命令中,~/fundvenv
是一个相对路径,它依赖于当前用户的家目录。在某些情况下,特别是当脚本以root用户运行时,~
可能不会正确地被解析为家目录路径。
要解决这个问题,你可以使用完整的绝对路径。在大多数Linux系统中,~
(tilde)代表当前用户的家目录,对于root用户来说通常是/root
。但是,由于你已经激活了名为fundvenv
的虚拟环境,你的家目录应该是/home/your_username
(将your_username
替换为你的实际用户名)。
你可以这样来获取绝对路径:
echo $HOME/fundvenv
这将输出~/fundvenv
的绝对路径。然后,你可以使用这个绝对路径作为--prefix
的值。例如,如果输出是/home/your_username/fundvenv
,那么你应该这样运行./configure
:
./configure --prefix=/home/your_username/fundvenv
请将/home/your_username/fundvenv
替换为echo $HOME/fundvenv
命令的实际输出结果。
完整的命令序列如下:
(fundvenv) [root@ ta-lib]# ./configure --prefix=$(echo $HOME/fundvenv)
(fundvenv) [root@ ta-lib]# make
(fundvenv) [root@ ta-lib]# make install
这样,./configure
脚本应该能够正确地识别--prefix
参数,并且软件将被安装到你的虚拟环境目录中。