【发布时间】:2020-02-24 04:51:39
【问题描述】:
我在我的 git 存储库中有以下 python 模块,我在一个已经存在的 conda 环境中签出,我 pip install my_package 具有相同的名称 my_package。
my_package
├── Makefile
├── data
├── my_package(renamed src so that I could import `my_package`)
│ ├── __init__.py
│ ├── config.py
│ ├── data
│ │ ├── __init__.py
│ │ ├── script.py
│ ├── utils.py
├── setup.py
├── test_environment.py
└── tox.ini
我在代码库之外有一个data 目录,我在其中保存我的数据,并希望使用相对路径在script.py 中访问它。
from pathlib import Path
my_path = Path(__file__).resolve().parent
do something with my_path
问题是 my_path 返回我的 anaconda 路径,而不是文件的当前路径。
我尝试了pip install -e . my_package 和pip install --install-options"--prefix=$(pwd)" my_package,但当我尝试在子my_package 目录中执行脚本时,这似乎不起作用。
如何让my_path 指向我的当前目录?
我的setup.py 看起来像这样。使用 python 3.7.3 和 Mac OSX
from pathlib import Path
setup(
name="my_package",
packages=find_packages(),
version="0.2.0",
description="",
author="",
license="",
install_requires=[
"numpy", "pandas", "pytest"
],
)
【问题讨论】:
-
你考虑过使用
os.getcwd()吗?或者这不适用于您的情况? -
我不想仅仅因为我可能从不同的目录执行它而执行 getcwd()。
-
我做了一个
pip install -e ./,这似乎有效。
标签: python python-3.x pip conda setuptools