我正在为python包编写一个安装后脚本。为此我需要将一些文件复制到包的安装目录中。有没有办法在/期间获得位置:
$ python setup.py install
一般的解决方案是执行以下操作:
# post installation script
import os
import PACKAGE_NAME
path = os.path.dirname(PACKAGE_NAME.__file__)
# copy files to path
但是我做不到。我的包导入取决于复制到其目录的文件。我可以做的一件事是:
# another messier post installation approach
import os
# add location of dependencies to system path to allow package import
os.environ['PATH'] += CURRENT_LOCATION_OF_FILES_TO_BE_COPIED
import PACKAGE_NAME
path = os.path.dirname(PACKAGE_NAME.__file__)
# copy files to path
运行setup.py
后是否有更好的方法在包的安装位置复制文件而不需要包导入?
答案 0 :(得分:0)
也许你可以用包导入。你的第一种方法不起作用的原因是因为Python寻找模块/包的方式。它会按顺序搜索$i = 0;
foreach ($arr as $value) {
$i++;
echo '<br>';
foreach ($value as $val) {
echo $val.',';
}
}
echo $i;
,因此如果您反转sys.path
,也可以执行此操作:
sys.path
它可能有用,但它有点像hacky。