繁体   English   中英

模块在安装模式下找到,但在使用setuptools的开发模式下没有

[英]Module found in install mode but not in develop mode using setuptools

我第一次使用setuptools ,并尝试打包我的代码,以便其他人可以轻松开发它。 我在虚拟环境中运行一切。

简短的问题 :当我运行python setup.py develop时,如何更改egg-link指向的目录?

长问题 :我正在开发的模块叫做cops_and_robots 当我运行python setup.py install ,一切正常,我可以导入我的cops_and_robots模块。 但是,当我运行python setup.py develop ,运行import cops_and_robots失败,因为cops_and_robots.egg-link指向错误的目录:

(cops_and_robots)Antares:cops_and_robots nick$ cat ~/virtual_environments/cops_and_robots/lib/python2.7/site-packages/cops-and-robots.egg-link 
/Users/nick/Downloads/cops_and_robots/
.

这是目录结构:

|____Downloads
| |____cops_and_robots # the whole package directory
| | |____...
| | |____requirements.txt
| | |____setup.py
| | |____src
| | | |____cops_and_robots # the python package directory
| | | |______init.py__
| | |____...

我的setup.py

from setuptools import setup, find_packages
import ez_setup
ez_setup.use_setuptools()

setup(
    # Author information and Metadata
    name='cops_and_robots',

    # Package data
    packages=find_packages('src'),
    package_dir={'cops_and_robots':'src/cops_and_robots'},
    include_package_data=True,
    platforms='any',
    requires=['std_msgs','rospy'],
    tests_require=['pytest'],
    install_requires=[i.strip() for i in open("requirements.txt").readlines()],
)

手动修复只是将src/cops_and_robots附加到cops_and_robots.egg-link文件,但我正在寻找一种更优雅的方法来做到这一点。

可能已经太晚了,无法满足您的需求,但是setuptools devel安装已经有很长一段时间了。 幸运的是,有一个简单的解决方法可能适用于您的情况。 试试改变:

# Package data
packages=find_packages('src'),
package_dir={'cops_and_robots':'src/cops_and_robots'},

# Package data
packages=find_packages('src'),
package_dir={'':'src'},

在您的setup.py脚本中。

这种情况应该与setuptools setup.py devel ,因此也可以使用pip install -e

有关此问题的更多背景信息,请参阅以下链接:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM