如何在无setup.py时安装Python包?及fdtd_venv安装咨询
无setup.py时安装Python包的几种方法
- 添加路径到Python环境:如果目标包是包含
__init__.py的文件夹,要么在代码开头手动把包所在目录加入sys.path:
要么把这个路径加到系统的import sys sys.path.append("/绝对路径/到/包所在目录")PYTHONPATH环境变量里,这样每次启动Python都会自动识别。 - 用pip直接安装目录:如果包里有
pyproject.toml(现在不少新包用这个替代setup.py),直接在终端执行:
就算没有pyproject.toml,pip也会尝试识别目录里的Python模块并完成安装。pip install /绝对路径/到/包目录 - 手动复制到site-packages:先找到Python的site-packages目录(终端输入
python -c "import site; print(site.getsitepackages())"就能看到路径),把包文件夹直接复制进去,Python就能直接导入了。
关于FDTD-Huygens-metasurface仓库的
fdtd_venv导入问题 这个仓库里的fdtd_venv不是PyPI上的公开包,就是仓库自带的子目录,解决方法很简单:
- 克隆仓库后加路径:先把仓库克隆到本地:
然后在示例代码开头加上仓库根目录的路径:git clone https://github.com/Substancia/FDTD-Huygens-metasurface.git
这样就能正常执行import sys sys.path.append("/绝对路径/到/FDTD-Huygens-metasurface")from fdtd_venv import fdtd_mod as fdtd了。 - 直接在仓库目录下运行代码:进入克隆好的仓库根目录,直接运行示例脚本就行——Python默认会把当前工作目录加入
sys.path,脚本自然能找到fdtd_venv。 - 创建软链接到site-packages(可选):如果不想每次都加路径,Linux/macOS可以在site-packages里建软链接:
Windows用mklink命令:ln -s /绝对路径/到/FDTD-Huygens-metasurface/fdtd_venv /绝对路径/到/python/site-packages/fdtd_venvmklink /D "C:\绝对路径\到\python\site-packages\fdtd_venv" "C:\绝对路径\到\FDTD-Huygens-metasurface\fdtd_venv"
内容的提问来源于stack exchange,提问作者codingtrialaccount
相关产品推荐
相关产品推荐

